2011-05-27 23 views
0

我的python程序從命令行獲取兩個輸入參數,例如(maxt,30days)。該程序的執行時間約爲10分鐘。我想三次運行該程序,即第一次使用maxt和30天,第二次使用maxt和14天,第三次使用maxt和7天。如何在不等待代碼使用一組參數執行的情況下運行代碼三次,然後手動輸入第二組參數,等等....我不想在內部循環我的代碼....是否有我可以先用一組參數運行代碼,然後讓系統等待10分鐘,然後用另一組參數運行相同的代碼.... 任何幫助表示讚賞.....謝謝你如何使用不同的參數集運行代碼,而無需等待代碼使用一個參數執行,然後輸入下一個代碼

+0

'蟒蛇prog.py argset1;睡600;蟒蛇prog.py argset2'?如果在Windows上,你可以簡單地使用Python。 – khachik 2011-05-27 15:39:39

+0

我很困惑,你說你不想等,然後你說你**做**。你能否概述一下(例如編號的步驟)流程應該是什麼? – 2011-05-27 15:40:42

回答

0

這聽起來像你想要的是一個shell腳本,像這樣:

#! /bin/sh 

yourprogram maxt 30days 
yourprogram maxt 14days 
yourprogram maxt 7days 

假如把它放在一個文件,chmod +x它,並運行它作爲./filename。它與在命令提示符下按順序鍵入這三個命令的效果相同,在開始下一個命令之前等待每個命令完成。

2

如果你是一個UNIX命令行:

$ yourprogram maxt 30days & 
$ yourprogram maxt 14days & 
$ yourprogram maxt 7days & 

這將啓動你的程序在parallell的背景。

0

這裏是一個過於複雜的bash一個班輪:

for days in 30 14 7 ; do yourprogram maxt ${days}days > output_$days & ; done 

它寫出的輸出,因爲這是可能的,它可能會以其他方式錯雜到單獨的文件。

如果你想這樣做的python裏面你可以嘗試多模塊:http://docs.python.org/library/multiprocessing.html

+1

不需要inner {},只需要'var in 30 14 7;做命令;完成「將會訣竅。 – GreyCat 2011-05-28 19:48:51

+0

好點。不知道爲什麼我把他們放進去。 – 2011-05-28 22:31:39

相關問題