我有两个不同的python脚本,第一个是使用argparse获取一些额外的参数(我将其称为arg.py),第二个是我的主脚本(main.py)。
我想在main.py中调用arg.py,但我不知道该怎么做。我看一下命令execfile,但我没有设法让它工作
我试着把
execfile('arg.py -h')
在main.py但python尝试找到不存在的文件'arg.py -h'。有谁知道这是怎么做到的吗 ?
提前致谢
答案 0 :(得分:1)
您可以使用subprocess.call
或subprocess.Popen
将其作为单独的流程运行。如果您不想将其作为子进程运行,则会开始变得更复杂(取决于arg.py
脚本的结构。
execfile
将传递给它的文件包含在当前脚本中 - 就像c / c ++中的#include
预处理器指令一样(尽管这是动态完成的)。使用execfile
的一个非常难看的选项是:
#completely untested.
import sys
def run_script(script_name,*args):
_argv = sys.argv[:]
sys.argv = list(args)
execfile(script_name)
sys.argv = _argv