0

Linux の一部のコマンドは、引数としてファイルを受け取ります。(cat、grep、sed、awk、...) StringIO オブジェクトを「ファイル」引数として渡すにはどうすればよいですか? (ディスク上のファイルに書きたくないので、明示的にこれらのコマンドに渡します) または、他の種類の「メモリ内ファイル」オブジェクトが必要ですか?

4

2 に答える 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 に答える