我有几个参数调用的Python脚本。 我也可以用不同的参数集来调用它来表现不同。
我的问题是:是否有可能在脚本中,当我用第二组参数调用它时,我添加代码以便脚本使用第一组参数调用自身?那会有用吗?
以上原因:
使用参数集1调用时,脚本会构建C库。
当使用参数集2调用时,脚本从arg set 1运行dll构建。
但是,我发现使用参数集2运行也需要一个C文件(构建dll)具有绝对路径(它具有相对路径)。使用参数2运行python脚本,我暂时更改
C文件相对于绝对路径并运行,但这意味着脚本与dll不同步。所以,我需要用第二组参数调用脚本,在这里有代码,它将使用第一组参数再次调用相同的脚本来构建dll,然后继续进行。
由于
sedy
答案 0 :(得分:2)
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)