用于调用函数的Python脚本

时间:2014-03-14 02:47:34

标签: python argparse

我在.py文件中定义了一堆相关函数,并希望使用python脚本在终端上调用它们。我试过这样的事情:

def func1(a, b, c):
    """ docstring for func1 """
    some codes

def func2(a, b):
    """ docstring for func2 """
    some codes

import argparse
parser = argparse.ArgumentParser()
suparsers = parser.add_subparsers
parser_func1 = suparser.add_parser(func1, description=func1.__doc__)
parser_func1.set_defaults(func=func1)
...

parser.add_argument('args', nargs='+')
args = parser.parse_args()
args.func(*args.args)

如果我知道funcs或我的docstring所需的所有参数都有所有参数的解释,那么它有效,但有时只是定义本身很明显(比如ipython中出现的那些)。 / p>

然而,要获得那种帮助'对于每个子命令,我必须使用add_argumenthelp=关键字将所有参数复制到每个解析器中。

是否有一种通用的,紧凑的方式来编写脚本来执行作为子命令的多个函数,并使用这些函数的docstring/definition作为最小重复的帮助?

0 个答案:

没有答案