2010-12-14 14 views
0

で実行しているし、別の出力を生成しては... os.system(A)は、私はPythonスクリプトで使用していますバイナリコンバータへの進を持っているシェル

os.system("./HexToBinary " + str(sys.argv[1]) + "_hex " + str(sys.argv[1]) + "_binary") 

をコマンドを実行しますpythonスクリプトをファイルA_hex上に作成すると、ファイルA_binaryが生成されます。

しかし、このコマンドをコマンドラインで直接実行すると、ファイルAA_hex上でこのコマンドがAA_binaryを生成します。しかし、A_binaryとAA_binaryは違います!

diff example_python example_shell 
Binary files example_python and example_shell differ 

python os.systemによって生成されたバージョンには、最後からデータが欠落しています。それはちょうど断ち切られているようです。

私はちょっと困っています。何かご意見は?私はシステムの出力を確認し、また

それが必要とされるならば知っているが、待ってみてください、http://docs.python.org/library/os.html#os.wait

いけない

答えて

1

、それは何かが間違っている場合

+0

os.systemを行う方法256をプリントアウトを教えて役立つかもしれません私はos.waitを使用しますか? os.system(A)の直後にos.wait()を置くが、インタプリタがOSErrorを呼び起こす。[Errno 10]子プロセスがない。 – Mark

+0

@aaa ['os.system'](http://docs.python。 org/library/os.html#os.system)は、サブプロセスが終了するのを待ちます。 – khachik

+0

@mark 'os.system'は、この子プロセスの終了コードを返します(必ずしもそうではありません)。 'os.wait'には使用できません。 – khachik

関連する問題