2013-02-14 83 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