何年も前のこの質問は、私が必要とすることを行います:
Pythonでperforceからファイルをチェックアウトするにはどうすればよいですか?
しかし、サブプロセスモジュールを使用してこれを行う方法はありますか? (私はこれが好ましい方法であることを理解しています)
stdin を使用して必要な入力を p4 プロセスに送信する方法を見つけようとして、stackoverflow、python docs、および多くの Google 検索を調べましたが、成功していません。サブプロセスコマンドの出力をキャプチャすることについてはたくさん見つけることができましたが、入力コマンドを理解することはできませんでした.
私は一般的にPythonにかなり慣れていないので、明らかな何かが欠けている可能性がありますが、この場合、何がわからないのかわかりません。
これは私がこれまでに思いついたコードです:
descr = "this is a test description"
tempIn = tempfile.TemporaryFile()
tempOut = tempfile.TemporaryFile()
p = subprocess.Popen(["p4","change","-i"],stdout=tempOut, stdin=tempIn)
tempIn.write("change: New\n")
tempIn.write("description: " + descr)
tempIn.close()
(out, err) = p.communicate()
print out