python:使用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描述符,但似乎不可能

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
描述符,但似乎不可能
os.dup
没有帮助,因为返回的描述符只是一个引用

注意:我不能将
子进程.PIPE
用于标准输出,因为这可能会使进程死锁。我也不想使用另一个线程来阅读,因为我希望代码保持简单


谢谢。

你是想写信给标准输入管道吗?或者您正在尝试将stdout转储到tempfile并动态读取tempfile?我想将stdout转储到tempfile并动态读取它。