自称为

时间:2015-09-22 23:36:36

标签: python

我有几个参数调用的Python脚本。 我也可以用不同的参数集来调用它来表现不同。

我的问题是:是否有可能在脚本中,当我用第二组参数调用它时,我添加代码以便脚本使用第一组参数调用自身?那会有用吗?

以上原因:  使用参数集1调用时,脚本会构建C库。  当使用参数集2调用时,脚本从arg set 1运行dll构建。  但是,我发现使用参数集2运行也需要一个C文件(构建dll)具有绝对路径(它具有相对路径)。使用参数2运行python脚本,我暂时更改 C文件相对于绝对路径并运行,但这意味着脚本与dll不同步。所以,我需要用第二组参数调用脚本,在这里有代码,它将使用第一组参数再次调用相同的脚本来构建dll,然后继续进行。
由于
sedy

2 个答案:

答案 0 :(得分:2)

查看subprocess module

from subprocess import call
if arg2:
    call(["python", "myscript.py", "--arg1"])

答案 1 :(得分:0)

  

论证的变化对功能没有副作用,与之相同   任何指示。

它应该工作。它比你害怕的要容易得多。现在就做吧,这​​很有趣。

  

args旁边的*表示“接受给定的其余参数和   把它们放在名为args“的列表中。

def wrapper(func, *args):
    func(*args)

def func1(x):
    print(x)

def func2(x, y, z):
    print x+y+z

wrapper(func1, 1)
wrapper(func2, 1, 2, 3)