argparse代码问题

时间:2012-04-02 22:01:58

标签: python argparse

编写一个脚本,它带有两个可选的布尔参数,“ - verbose”和“--live”,以及两个必需的字符串参数,“base”和“pattern”。请使用argparse设置命令行处理。

def main():
    """Put the proper argparse goodness below."""
    pass

这是我对这个问题的代码,但我完全迷失了。任何指针或代码上的pov都会有所帮助。

import argparse 
parser = argparse.ArgumentParser(description = ("arguments"))
parser = add_argument(--verbose, "base", Type = String)
parser = add_argument(--live, "pattern", Type = String)
parser.argparse('base')argparse('pattern')
print = argparse.ArgumentParer(description = ('arguments')

2 个答案:

答案 0 :(得分:2)

你要添加的是两个标志和两个参数,分别是详细,实时,基础和模式。

查看argparse documentation我们看到您可以通过指定行为为store_truestore_false的参数来添加布尔开关:http://docs.python.org/dev/library/argparse.html#action

parser.add_argument('--verbose', action='store_true')

我们还看到,我们只需跳过标志名称即可添加位置参数:

parser.add_argument('base')

我们可以使用type参数指定所需的类型:

parser.add_argument('base', type=str)

最后,请注意,在定义解析器时,应首先指定命名选项。其他所有东西都被消耗在你的positionl参数中。另请注意,位置参数在设计上是必需的。

答案 1 :(得分:0)