[英]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.