python argparse自愿部分/分隔符

时间:2014-04-09 18:09:59

标签: argparse

我刚开始使用python3,我使用argparse lib从控制台输入解析参数列表。我在python页面上学过手册并且很遗憾地搜索了我没有找到正确的答案:

如何正确解析一个参数,该参数的自愿部分由其他字符分隔,然后是空格。让我解释一下例子:

- argument = file.txt (=后没有空格) 我想知道争论何时被使用,以及他的'file.txt'部分(可以改变)。是否有某种形式的替代自愿部分?

parser.add_argument(' - argument = *',action = ...)#or so ..

- 由于

P.S。可悲的是,替代空间不是一种选择。

1 个答案:

答案 0 :(得分:1)

argparse处理=加入标志和参数:

parser.add_argument('--argument',help='your help line here') 

这将接受。

'--argument=file.txt'
'--argument file.txt'

默认值是期望一个值nargs=None。如果没有给出默认值None

16.4.4.1
For long options (options with names longer than a single character), the option and 
value can also be passed as a single command-line argument, using = to separate them:

>>> parser.parse_args('--foo=FOO'.split())
Namespace(foo='FOO', x=None)

如果没有--,则参数为positional

parser.add_argument('argument',help='your help line here') 

我假设自愿'你的意思是'可选' (如文档中所使用的)。但现在是必需的。也就是说,如果您没有提供文件名,则会收到错误。