我需要只发送文件的一部分到另一个进程的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'使用真正的操作系统句柄,所以不可能像这样愚弄它。 –