0

私がやりたいことは、この質問で受け入れられた回答と非常に似ていますが、わずかな変更があります。最後の行:

print p3.communicate()[0]

の出力を印刷しますp3subprocess.call()標準出力で出力を受け取るだけでなく、基本的にそこに似た動作を取得したいと思います。

たとえば、p3was less を使用するcommunicateと、less へのパイプは、実際には less を開かず、出力を出力するだけであるという点で、cat へのパイプのように動作します。

とにかく私が求めているものを達成する方法はありますか(猫のように振る舞い、その出力を伝えるだけでなく、実際には開いていません)? 正しい方向へのうなずきは素晴らしいでしょう。

4

1 に答える 1

2

だから代わりに:

p3 = Popen(cmd, stdin=p2.stdout, stdout=PIPE)
...
print p3.communicate()[0]

私はただ行うことができます:

subprocess.call(cmd, stdin=p2.stdout)

そして、それは私が望んでいたことをすることを可能にします。:)

于 2013-05-11T07:25:45.347 に答える