一尘不染

想要一个简单的argparse示例:1个参数,3个结果

python

文档argparse
Python模块
,而优秀的我敢肯定,是太多了我的小初学者的大脑现在掌握。我不需要在命令行上进行数学运算,也不需要与屏幕上的格式化行混在一起或更改选项字符。我要做的就是
“如果arg是A,如果以上都不显示帮助并退出,则B这样做 。”


阅读 158

收藏
2021-01-20

共1个答案

一尘不染

我对原始问题的理解是双重的。首先,就最简单的argparse示例而言,令我惊讶的是我在这里没有看到它。当然,简而言之,这几乎没有任何功能,而且开销很大,但这可能会让您入门。

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("a")
args = parser.parse_args()

if args.a == 'magic.name':
    print 'You nailed it!'

但是,现在需要此位置参数。如果在调用该程序时将其遗漏,则会出现有关缺少参数的错误。这将我引到原始问题的第二部分。马特·威尔基(Matt
Wilkie)似乎想要一个不带命名标签(–option标签)的 可选 参数。我的建议是修改以下代码:

...
parser.add_argument("a", nargs='?', default="check_string_for_empty")
...
if args.a == 'check_string_for_empty':
    print 'I can tell that no argument was given and I can deal with that here.'
elif args.a == 'magic.name':
    print 'You nailed it!'
else:
    print args.a

也许会有一个更优雅的解决方案,但这是可行的并且是极简主义的。

2021-01-20