1

Pythonファイル(2.7)からコマンドを実行しようとしています:

p=subprocess.Popen("sha256sum file1.zip >> file2.sha")

しかし、ファイル「>>」が存在しないというエラーが発生しました。私は試した:

p=subprocess.Popen("sha256sum file1.zip >> file2.sha".split())

しかし、それでも>>問題です。

もちろん、プロンプト ラインでコマンドを実行すると、Ok が実行され、出力が file2.sha ファイルに出力されます。

Popen に stdout を追加できることはわかっていますが、コマンド ラインから実行するのと同じくらい簡単に実行する方法があるかどうか疑問に思っていました。

ありがとう。

4

2 に答える 2

4

次のように、子プロセスの stdin と stdout の値を Popen に渡すことができます。

subprocess.Popen("sha256sum file1.zip", stdout = file("file2.sha", "a"))

>> と同じ動作を実現するには、ファイルを追加モードで開く必要があることに注意してください。

于 2013-10-21T08:50:03.793 に答える