我有一个文件通过Popen()运行另一个文件。你知道吗
# a.py
import subprocess
p = subprocess.Popen(['python3','/home/scotty/b.py'],
stderr=subprocess.PIPE)
p.wait()
# b.py
input('???')
当我运行a.py“???”没有出现但提示仍然有效。。。为什么?我该怎么修?你知道吗
如果我删除stderr=子流程管道然后呢确实出现了。你知道吗
根据文档,输入的输出“被写入标准输出”,我没有接触标准输出。你知道吗
在您的示例中,似乎每件事情的发生都好像为stderr而不是stdout打开一个管道会将stdout重定向到stderr,因为在我所做的测试中,stderr接收输入的提示。你知道吗
下面是一段在linux中适用的代码。它可能过于复杂了,因为我使用了socketpairs,这当然不是必需的,但至少它是健壮的,而且可以工作。你知道吗
相关问题 更多 >
编程相关推荐