2

从 OPTPARSE 库参考:

option_list = [
    make_option("-f", "--filename",
                action="store", type="string", dest="filename"),
    make_option("-q", "--quiet",
                action="store_false", dest="verbose"),
    ]

parser = OptionParser(option_list=option_list)

与上面的示例一样,我想使用 make_option 创建一个选项列表并将其传递给一个装饰器,该装饰器实例化解析器并添加参数。

如何在 argparse 中实现这一点?除了 parse_args() 之外,还有其他方法可以填充解析器吗?

4

2 回答 2

2

您可以提供父解析器argparse.ArgumentParser列表:

parent = argparse.ArgumentParser(add_help=False)
parent.add_argument('-f','--filename')
parent.add_argument('-q','--quiet',action='store_false',dest='verbose')

parser = argparse.ArgumentParser(parents=[parent])
...
namespace = parser.parse_args()
于 2013-01-17T20:33:13.903 回答
0
def process_args():
    parser = argparse.ArgumentParser()
    parser.add_argument('-f', '--filename', dest='filename', type=string, action='store')
    args = parser.parse_args()
    return args

if __name__ == '__main__':
    args = process_args()
于 2013-01-17T20:38:03.037 回答