◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
python subprocess.popen 调用 exe 文件卡住的原因
当使用 python subprocess.popen 调用 exe 文件时,遇到卡住没有成功运行结束的情况,原因可能是:
输入/输出重定向问题
在命令行中手动调用 exe 文件时,使用 > 和
立即学习“Python免费学习笔记(深入)”;
解决方案
正确的做法是使用 subprocess.popen 的 stdin 和 stdout 参数来进行输入/输出重定向。例如:
with open("...\i.in") as fpin, open("..\1_1.out", "w") as fpout: subprocess.Popen(["..\1"], stdin=fpin, stdout=fpout)
这样,stdin 会从指定的文件中读取输入,而 stdout 会将输出写入指定的文件中。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。