繁体   English   中英

Python stdout.readline()冻结

[英]Python stdout.readline() freeze

我在我的python脚本中使用:

cmd = ["checkcode.exe", "code=1234"]
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, close)
result = proc.stdout.readline()

checkcode.exe返回一个值,或什么也没有,并保持活着

当checkcode.exe返回值时,一切正常,但是当checkcode.exe没有返回值时,结果= proc.stdout.readline()处的脚本块

如何解决问题?

您必须确保子进程退出,以防止readline()被阻塞。 readline会一直等到收到换行符或文件结尾。 EOF是在程序退出时实现的。

或者,您可以使用上面注释中提到的非阻塞I / O.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM