草庐IT

NONBLOCKING

全部标签

python - 在 Python 中对 subprocess.PIPE 进行非阻塞读取

我正在使用subprocessmodule启动子进程并连接到其输出流(标准输出)。我希望能够在其标准输出上执行非阻塞读取。在我调用.readline之前,有没有办法使.readline非阻塞或检查流上是否有数据?我希望它是可移植的,或者至少可以在Windows和Linux下工作。这是我现在的做法(如果没有可用数据,它会阻塞在.readline上):p=subprocess.Popen('myprogram.exe',stdout=subprocess.PIPE)output_str=p.stdout.readline() 最佳答案