2013-02-14 115 views
0

我得到了兩個不同的python腳本,第一個使用argparse來獲得一些額外的參數(我將其稱爲arg.py),第二個是我的主腳本(main.py )。
我想在main.py中調用arg.py,但我不知道如何去做。我看看命令execfile,但我沒有設法使其工作。
我試圖把
execfile('arg.py -h')
在main.py但python試圖找到文件'arg.py -h'不存在。有誰知道這是怎麼做到的嗎 ?在python腳本中使用argparse執行python腳本

在此先感謝

+0

會發生什麼'arg.py '作爲'execfile'中的參數? – BioGeek 2013-02-14 16:09:39

回答

1

您可以運行它使用subprocess.callsubprocess.Popen一個獨立的進程。如果您不想將它作爲子進程運行,則它會變得更加複雜(取決於您的arg.py腳本的結構)

execfile將您傳遞給它的文件包含在當前腳本中 - 就像在C #include預處理器指令/ C++(雖然這是動態的)使用execfile一個十分可怕的辦法是:當你輸入完整的路徑

#completely untested. 
import sys 
def run_script(script_name,*args): 
    _argv = sys.argv[:] 
    sys.argv = list(args) 
    execfile(script_name) 
    sys.argv = _argv