假设我写下这个:
from subprocessing import Popen, STDOUT, PIPE
p = Popen(["myproc"], stderr=STDOUT, stdout=PIPE)
如果我知道了
^{pr2}$
我的程序一直等到子进程输出下一行。在
有没有什么魔法可以让我p.stdout
这样我就可以读取输出(如果它在那里的话),但在其他情况下继续?我在找Queue.get_nowait()
我知道我可以创建一个线程来读取p.stdout
,但是假设我不能创建新线程。在
Tags:
使用
p.stdout.read(1)
这将逐个字符读取下面是一个完整的例子:
使用Python标准库中的
select
模块,请参见http://docs.python.org/library/select.html。select.select([p.stdout.fileno()], [], [], 0)
立即返回一个元组,该元组的项是三个列表:如果该文件描述符上有要读取的内容,则第一个将是非空的。在相关问题 更多 >
编程相关推荐