簡體   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