【发布时间】:2013-12-15 03:07:28
【问题描述】:
我有一个 argparsing 程序:
导入参数解析
def main():
p = argparse.ArgumentParser()
help_str = {'rule': 'Blah blah blah and stuff.'}
p.add_argument('-r', '--rule', action="store", type=str, dest='rule', help=help_str['rule'])
p.set_defaults(rule='string')
args = p.parse_args()
因此,我的命令行输入:
username@compname:~$python progname.py -r/--rule 'something'
我想弄清楚我如何才能输入:
username@compname:~$python progname.py -r/--rule
并出现我自己的错误消息:
print '\n Error: no input value for rule:'
print ' resetting rule to default value.'
args.rule = 'string'
在此之后,规则值应打印为“字符串”
对不起,我对 Python 的理解只有一点点。我尝试过使用 try/except 块,甚至 sys.argv[2] (尽管我可能做错了什么。)这是我所有解决方案中不断出现的错误(对类型和值之外的错误不太熟悉) :
progname.py: error: argument -r/--rule: expected one argument
任何帮助表示赞赏。
【问题讨论】:
-
nvrmnd,问题解决了
标签: python parsing dictionary import argparse