gpt4 book ai didi

Python 弹出 python.exe

转载 作者:太空宇宙 更新时间:2023-11-03 18:40:03 25 4
gpt4 key购买 nike

我很困惑为什么下面的代码不打印 stdout 并退出,而是挂起(在 Windows 上)。有什么原因吗?

import subprocess
from subprocess import Popen

def main():
proc = Popen(
'C:/Python33/python.exe',
stderr=subprocess.STDOUT,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE
)
proc.stdin.write(b'exit()\r\n')
proc.stdin.flush()
print(proc.stdout.read(1))

if __name__=='__main__':
main()

最佳答案

替换以下内容:

proc.stdin.flush()

与:

proc.stdin.close()

否则子进程python.exe将永远等待标准输入关闭。

<小时/>

替代方案:使用communicate()

proc = Popen(...)
out, err = proc.communicate(b'exit()\r\n')
print(out) # OR print(out[:1]) if you want only the first byte to be print.

关于Python 弹出 python.exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20716484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com