sshを介して大きなファイルをストリーミングしようとしています。以下のように:pythonで "open()as f:"のようなコマンドからstdoutを処理する方法
with open('somefile','r') as f:
tx.send(filepath='somefile',stream=f.read())
私はそれがうまくこの方法をストリーミングすることができますが、私は同様にストリーミングするpv
、dd
、およびtar
のようなコマンドを使用できるようにする必要があり、より高いレベルのクラスのインスタンスであるTX。私は必要なのである。
with run_some_command('tar cfv - somefile') as f:
tx.send(filepath='somefile',stream=f.read())
これはストリームとしてSTDOUTを取り、リモートのファイルに書き込みます。私は例を見つけようとしばらくグーグルませんが、今のところ何の運きた ...
p = subprocess.Popen(['tar','cfv','-','somefile'], stdout=subprocess.PIPE)
tx.send(filepath='somefile',stream=p.stdout.readall())
が、無駄に: は、私のような何かを試してみました。 ご迷惑をおかけして申し訳ございません。