我有一個主要的進程,在其中運行一個子進程,其中stdin是我想要管道。我知道我可以使用文件做到這一點:沒有使用文件的子進程管道stdin
import subprocess
subprocess.call('shell command', stdin=open('somefile','mode'))
是否有使用自定義的標準輸入管道沒有實際的硬盤驅動器文件中的任何選項?是否有任何選項,例如,使用字符串列表(每個列表元素將是一個換行符)?
我知道python子進程在管道對象上調用.readline()
。
雖然不一定回答你的問題,這是值得一提的任何POSIX兼容的操作系統支持使用/ dev /標準輸入作爲一個「文件」,這個作品跨越包含使用EOF終止流的shell命令。在OSX,Linux和OpenBSD上使用tcsh和bash驗證了這一點。 – synthesizerpatel
@synthesizerpatel沒有答案,但感謝您的寶貴意見! – ducin
好吧..公平地說,這是**答案。只是不**的答案。 :D – synthesizerpatel