我需要只發送文件的一部分到另一個進程的STDIN?我可以重寫io.BufferedReader中的默認read()方法嗎?
#Python 3.5
from subprocess import PIPE, Popen, STDOUT
fh = io.open("test0.dat", "rb")
fh.seek(10000)
p = Popen(command, stdin=fh, stdout=PIPE, stderr=STDOUT)
p.wait()
我確保command
將只讀取從標準輸入1000多個字節,然後遇到EOF怎麼辦。 我無法控制命令如何讀取標準輸入。
我的回答是錯誤的。問題是'Popen'使用真正的操作系統句柄,所以不可能像這樣愚弄它。 –