![](/img/trans.png)
[英]python in applescript: subprocess.call vs os.system in automator
[英]os.system vs subprocess in python on linux
我有兩個python腳本。 第一個腳本調用第二個腳本的表,我需要在其中執行第三方python腳本。 它看起來像這樣:
# the call from the first script.
cmd = "qsub -sync y -b -cwd -V -q long -t 1-10 -tc 5 -N 'script_two' ./script2.py"
script2thread = pexpect.spawn(cmd)
# end of script 1
所以我在這里發送10個工作到隊列。 在腳本2中,我有一個基於task_id的case語句。 在每一個中,我使用不同的參數對第三方腳本進行類似的調用。
...
elif(task_id == 4)
subprocess.call(./script3)
# or
os.system(./script3 , shell=True)
這是我的問題所在。 使用其中一個是否有差異/好處? 我知道在Windows上使用一個而不是另一個因為支持問題而產生很大的不同但是我在Linux上並且無意在Windows上運行它。 有時我使用子進程得到非常奇怪的結果,當第三個腳本一次獨立運行時,它無法在網絡上找到其他東西。
你應該使用subprocess
。 它並沒有任何區別,它只是一個更新的模塊,旨在取代os.system
(看看本節的替代品)。 它還具有更多功能,以防您有一天需要它們。
簡而言之:沒有理由使用os.system
(除了與舊版本的Python兼容)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.