0
如果我使用subprocess.Popen
我可以使用communicate()
小輸出。替代subprocess.Popen.communicate()流
但是,如果子流程需要花費大量時間併產生大量輸出,我想以流數據的形式訪問它。
有沒有辦法做到這一點? Python的文件說
警告:
communicate()
而非.stdin.write
,.stdout.read
或.stderr.read
避免死鎖由於任何其他操作系統管緩衝區填滿並阻塞子進程。
我真的想訪問過程輸出的文件對象:
with someMagicFunction(['path/to/some/command','arg1','arg2','arg3']) as outpipe:
# pass outpipe into some other function that takes a file-like object
,但無法弄清楚如何做到這一點。
哦,這很聰明 - 謝謝! –