Questions tagged «argparse»

用于实现命令行界面的Python模块

3
Argparse可选的位置参数?
我有一个打算像这样使用的脚本: usage: installer.py dir [-h] [-v] dir 是一个位置参数,其定义如下: parser.add_argument('dir', default=os.getcwd()) 我希望dir可以是可选的:未指定时,它应该只是cwd。 不幸的是,当我不指定dir参数时,我得到了Error: Too few arguments。
651 python  argparse 

19
用argparse解析布尔值
我想使用argparse解析布尔命令行参数,写为“ --foo True”或“ --foo False”。例如: my_program --my_boolean_flag False 但是,以下测试代码无法满足我的要求: import argparse parser = argparse.ArgumentParser(description="My parser") parser.add_argument("--my_bool", type=bool) cmd_line = ["--my_bool", "False"] parsed_args = parser.parse(cmd_line) 可悲的是,parsed_args.my_bool计算结果为True。即使我更改cmd_line为["--my_bool", ""],情况也是如此,这令人惊讶,因为bool("")评估为False。 如何获取argparse进行解析"False","F"以及它们的小写形式是False什么?

11
想要一个简单的argparse示例:1个参数,3个结果
该文档为argparse Python模块,而优秀的我敢肯定,是太多了我的小初学者的大脑现在掌握。我不需要在命令行上进行数学运算,也不需要在屏幕上设置格式行或更改选项字符。我要做的只是“如果arg是A,如果以上都不显示帮助并退出,则B这样做。”
529 python  argparse 

9
如何使用argparse将列表作为命令行参数传递?
我正在尝试将列表作为参数传递给命令行程序。是否有将argparse列表作为选项传递的选项? parser.add_argument('-l', '--list', type=list, action='store', dest='list', help='<Required> Set flag', required=True) 脚本如下所示 python test.py -l "265340 268738 270774 270817"
440 python  argparse 

3
不带参数的Python argparse命令行标志
如何在命令行参数中添加可选标志? 例如。所以我可以写 python myprog.py 要么 python myprog.py -w 我试过了 parser.add_argument('-w') 但是我收到一条错误消息说 Usage [-w W] error: argument -w: expected one argument 我认为这意味着它需要-w选项的参数值。接受旗帜的方式是什么? 我在这个问题上发现http://docs.python.org/library/argparse.html相当不透明。

7
Python argparse:如何在帮助文本中插入换行符?
我argparse在Python 2.7中用于解析输入选项。我的选择之一是多项选择。我想在其帮助文本中列出一个列表,例如 from argparse import ArgumentParser parser = ArgumentParser(description='test') parser.add_argument('-g', choices=['a', 'b', 'g', 'd', 'e'], default='a', help="Some option, where\n" " a = alpha\n" " b = beta\n" " g = gamma\n" " d = delta\n" " e = epsilon") parser.parse_args() 但是,argparse删除所有换行符和连续的空格。结果看起来像 〜/下载:52 $ python2.7 x.py -h 用法:x.py [-h] [-g {a,b,g,d,e}] …
340 python  argparse 

3
Argparse:在“ --help”中包含默认值的方法吗?
假设我有以下argparse代码段: diags.cmdln_parser.add_argument( '--scan-time', action = 'store', nargs = '?', type = int, default = 5, help = "Wait SCAN-TIME seconds between status checks.") 当前,--help返回: usage: connection_check.py [-h] [--version] [--scan-time [SCAN_TIME]] Test the reliability/uptime of a connection. optional arguments: -h, --help show this help message and exit --version show program's version …
307 python  argparse 


4
Argparse:“可选参数”下列出了必需参数吗?
我使用下面的简单代码来解析一些参数。请注意,其中之一是必需的。不幸的是,当用户在不提供参数的情况下运行脚本时,显示的用法/帮助文本并不表示存在一个非可选的参数,我感到非常困惑。如何获取python以指示参数不是可选的? 这是代码: import argparse if __name__ == '__main__': parser = argparse.ArgumentParser( description='Foo') parser.add_argument('-i','--input', help='Input file name', required=True) parser.add_argument('-o','--output', help='Output file name', default="stdout") args = parser.parse_args() print ("Input file: %s" % args.input ) print ("Output file: %s" % args.output ) 在不提供必需参数的情况下运行上述代码时,得到以下输出: usage: foo.py [-h] -i INPUT [-o OUTPUT] Foo optional arguments: …
229 python  argparse 


3
Python argparse忽略无法识别的参数
Optparse,旧版本只是忽略所有无法识别的参数并继续执行。在大多数情况下,这不是理想的,已在argparse中进行了更改。但是在某些情况下,您想忽略任何无法识别的参数并解析您指定的参数。 例如: parser = argparse.ArgumentParser() parser.add_argument('--foo', dest="foo") parser.parse_args() $python myscript.py --foo 1 --bar 2 error: unrecognized arguments: --bar 反正有覆盖吗?

2
需要使用argparse的两个参数之一
鉴于: import argparse pa = argparse.ArgumentParser() pa.add_argument('--foo') pa.add_argument('--bar') print pa.parse_args('--foo 1'.split()) 我如何 将“ foo,bar”中的至少一项设为强制性:--foo x,--bar y并且--foo x --bar y可以 使“ foo,bar”中的一项至多为强制性的:--foo x或者--bar y很好,--foo x --bar y不是
182 python  argparse 

3
Python argparse:默认值或指定值
我想有一个可选参数,如果仅存在未指定值的标志,则默认为一个值,但是存储用户指定的值,而不是如果用户指定一个值,则存储默认值。是否已经有可用于此的措施? 一个例子: python script.py --example # args.example would equal a default value of 1 python script.py --example 2 # args.example would equal a default value of 2 我可以创建一个动作,但是想查看是否存在执行此操作的方法。

2
argparse模块如何添加不带任何参数的选项?
我使用创建了一个脚本argparse。 脚本需要使用配置文件名作为选项,用户可以指定是完全执行脚本还是仅模拟脚本。 要传递的args:./script -f config_file -s或./script -f config_file。 -f config_file部分可以,但是它一直在询问我-s的参数,该参数是可选的,不应跟随任何参数。 我已经试过了: parser = argparse.ArgumentParser() parser.add_argument('-f', '--file') #parser.add_argument('-s', '--simulate', nargs = '0') args = parser.parse_args() if args.file: config_file = args.file if args.set_in_prod: simulate = True else: pass 有以下错误: File "/usr/local/lib/python2.6/dist-packages/argparse.py", line 2169, in _get_nargs_pattern nargs_pattern = '(-*%s-*)' % '-*'.join('A' * nargs) …
165 python  argparse 

5
在Python中,使用argparse,仅允许使用正整数
标题几乎总结了我想发生的事情。 这就是我所拥有的,虽然程序不会在非正整数上崩溃,但我希望通知用户非正整数基本上是无稽之谈。 import argparse parser = argparse.ArgumentParser() parser.add_argument("-g", "--games", type=int, default=162, help="The number of games to simulate") args = parser.parse_args() 并输出: python simulate_many.py -g 20 Setting up... Playing games... .................... 输出为负: python simulate_many.py -g -2 Setting up... Playing games... 现在,显然我可以添加一个if来确定if args.games是否为负,但是我很好奇是否有一种方法可以将其捕获到该argparse级别,以便利用自动用法打印。 理想情况下,它将打印类似于以下内容的内容: python simulate_many.py -g a usage: simulate_many.py [-h] [-g …
164 python  argparse 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.