2017-02-19 3 views
0

私はWindowsホスト上でpythonスクリプトを実行したいと思います。スクリプトによって生成されたデータは、別のプロセスにパイプされる必要があります。このプロセスでは、Unixスタイルの行末が必要です。スクリプトの出力終了を制御するにはどうすればよいですか?バイナリモードでstdoutを再オープンしますか?

スクリプトの抜粋:

print "blob" 
print "mark: %d" & mark 
print "data %d" % os.path.getsize(localPath) 
    with open(localPath, "rb") as f: 
     print f.read() 

これは生成する必要があります:

"blob\nmark: 0\n" 

スクリプトは、テキストバイナリ出力を生成します。したがって、後でdos2unixプログラムで結果を変換することはできません。

\ n - > \ r \ n変換を避けるために、stdoutをバイナリモードで再度開くことはできますか?

答えて

1

出力は、pythonコマンドライン引数-uを渡すことで制御できます。これによりバッファリングされない出力が発生し、はLF - > CRLF変換をスキップします。

#!/C/Python27/python -u 

それは強打ラインでこれを指定することも可能です

関連する問題