[英]Run same Python script multiple times with different values set in a column
[英]Run the same python file multiple times with different input values
我有一個進程將接受輸入,然后在后台運行並評估信息(假設進程永遠不會結束),這意味着文件基本上“停止”我無法對任何變量進行主題化。 我的流程有“階段”,這些“階段”需要相同的評估但不同的輸入,因為我無法對變量進行主題化,所以我只能制作另一個 python 文件,然后更改變量,然后運行它。 我的進程必須按文件運行,不能定義為 function 或循環。
測試1.py
from .test import testing #-- my manager to calculate the variable data returns a list
value = 473
drones = testing(473) #- returns something like [[0,1,2,3], [4,5,6,7]]
while True: #- The loop in a nutshell, but cannot be defined as a loop or function
process(drones[0]) #- process is the process in a nutshell
注意:第 1 行from.test import testing
是我為我的流程將輸入划分為數據的管理器。
注意:第 4 行drones = testing(473)
返回列表列表; 列表中的每個值都是一個進程的必要數據。
注意:第 5 行while True:
簡而言之,這是我的循環,這不是它的實際處理方式*
測試2.py
from .test import testing
value = 473
drones = testing(473)
while True:
process(drones[1])
這與第 6 行process(drones[1])
的 test1.py 不同。 我用於我的流程的數據在 test1.py ( process(drones[0])
)中有所不同
但是,如果我有數百甚至數千呢? 我不會為此制作單獨的文件。
我對所有答案持開放態度。 這些答案不必純粹是 python (bash 等)。
你可以使用multiprocessing.Pool
:
from multiprocessing import Pool
from .test import testing
value = 473
drones = testing(value)
def proc(lst):
# do something with lst asynchonously
if __name__ == "__main__":
pool = Pool(2) # or however many times needed
pool.map(proc, drones, chunksize=1) # runs proc(drones[0]), proc(drones[1]), ..., each in their own process
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.