![](/img/trans.png)
[英]Python: How to choose one of multiple scripts as a package to import into a main script, when located in different directories?
[英]How to submit 2 jobs (to run 2 python scripts in parallel located in 2 different directories) in linux?
我需要在沒有任何交互的情況下並行運行2個不同的python腳本:script1和script2。 通過以下方式定位它們:
dir0包含文件jobcript.py和2個目錄dir1,dir2。 dir1包含script1,dir2包含script2。
jobscript.txt中包含以下幾行。
#!/usr/bin/python
import subprocess
exit_code1 = subprocess.call(["python", "./dir1/script1", "-o"], shell=False)
exit_code2 = subprocess.call(["python", "./dir2/script2", "-o"], shell=False)
我在linux中運行了以下命令:
$ python jobscript.py -o
但這是連續進行的。 如何並行運行它們? 解決方案非常感謝!
您可以使用Shell將流程置於后台:
from subprocess import call
call(["python ./dir1/script1 -o &"], shell=True)
call(["python ./dir2/script2 -o &"], shell=True)
“&”告訴bash將其放在后台。 如果希望python腳本等待每個腳本的結果,則需要創建一個線程。 我懷疑您想使用bash腳本而不是python:
#!/bin/bash
python ./dir1/script1 -o &
python ./dir2/script2 -o &
PS:為什么首先要通過子流程從python調用python腳本? 您可以直接訪問該代碼。 如果您希望它並行運行,那么多線程或多處理就是您的朋友。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.