python:使用tempfile作为管道
TL;DR:如何获取tempfile的两个独立文件对象/描述符(没有可见名称) 我有很多数据,需要传递给命令来处理,即python:使用tempfile作为管道,python,subprocess,temporary-files,Python,Subprocess,Temporary Files,TL;DR:如何获取tempfile的两个独立文件对象/描述符(没有可见名称) 我有很多数据,需要传递给命令来处理,即 tmp = tempfile.SpooledTemporaryFile() p = subprocess.Popen(['command'], stdin=subprocess.PIPE, stdout=tmp) for d in get_data(): p.stdin.write(d) 这样,在p完成之前,我无法阅读tmp。我试图获得另一个tmp描述符,但似乎不可能
tmp = tempfile.SpooledTemporaryFile()
p = subprocess.Popen(['command'], stdin=subprocess.PIPE, stdout=tmp)
for d in get_data():
p.stdin.write(d)
这样,在p
完成之前,我无法阅读tmp
。我试图获得另一个tmp
描述符,但似乎不可能os.dup
没有帮助,因为返回的描述符只是一个引用
注意:我不能将子进程.PIPE
用于标准输出,因为这可能会使进程死锁。我也不想使用另一个线程来阅读,因为我希望代码保持简单
谢谢。你是想写信给标准输入管道吗?或者您正在尝试将stdout转储到tempfile并动态读取tempfile?我想将stdout转储到tempfile并动态读取它。