繁体   English   中英

使用subprocess.call执行python文件?

[英]Using subprocess.call to execute python file?

我正在使用subprocess.call来执行另一个python文件。 考虑到将要调用的脚本永远不会终止执行,因为它处于无限循环内,我如何才能使原始脚本在子流程调用后继续执行?

示例:我有script1.py,该脚本执行一些计算,然后使用subprocess.call subprocess.call(["python", "script2.py"])调用script2.py,因为它在无限循环内,script1在执行时卡住了除了使用子进程模块以外,另一种运行文件的方式?

subprocess.call(["python", "script2.py"])等待子进程完成。

只需使用Popen

proc = subprocess.Popen(["python", "script2.py"])

稍后您可以执行proc.poll()来查看它是否完成,或者可以proc.wait()来等待它完成(就像call一样),或者只是忘掉它而做其他事情。

顺便说一句,您可能想确保使用sys.executable而不是仅仅使用"python"来调用相同的python ,并且操作系统可以找到它:

subprocess.Popen([sys.executable, "script2.py"])

暂无
暂无

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

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