Linux の一部のコマンドは、引数としてファイルを受け取ります。(cat、grep、sed、awk、...) StringIO オブジェクトを「ファイル」引数として渡すにはどうすればよいですか? (ディスク上のファイルに書きたくないので、明示的にこれらのコマンドに渡します) または、他の種類の「メモリ内ファイル」オブジェクトが必要ですか?
質問する
796 次
2 に答える
2
パイプを作成し、読み取り側を 内のプロセスに接続しpreexec_fn
、デバイス ファイルをコマンドに渡し、内容を書き込み側にコピーします。StringIO
于 2012-05-08T04:42:33.503 に答える
0
あなたが求めているのは、StringIO オブジェクトをファイル引数としてパイプする方法だと思います。
リストしたコマンドは、ファイル引数として stdout からの入力も受け取ります。
そのような:
mypyscript.py | cat
また
cat < mypyscript.py
ここで行っているのは、StringIO オブジェクトの内容を mypqscript.py の stdout に書き込むことです。
fo がコンテンツを含む StringIO オブジェクトであると仮定すると、スクリプト内の適切な場所に次のものがあります。
sys.stdout.write(fo.getvalue())
sys.stdout.flush()
于 2012-05-08T04:44:51.273 に答える