【发布时间】:2015-01-14 19:46:40
【问题描述】:
我正在尝试将参数发送到子进程的标准输入。就我而言,它是使用请求下载的图像。
这是我的代码:
from subprocess import Popen, PIPE, STDOUT
img = requests.get(url, stream=True)
i = img.raw.read()
proc = subprocess.Popen(['icat', '-'], stdout=PIPE, stdin=PIPE, stderr=STDOUT)
proc.communicate(i)
#proc.stdin.write(i) # I tried this too
不幸的是,子进程什么也没做,我也没有收到任何错误。我的代码有什么问题,有没有跨平台的解决方案?
【问题讨论】:
-
您实际上并没有在此处流式传输任何内容,因此您可以使用
img.content。您也忽略了来自proc的输出。
标签: python arguments pipe stdin python-requests