该文档为argparse Python模块,而优秀的我敢肯定,是太多了我的小初学者的大脑现在掌握。我不需要在命令行上进行数学运算,也不需要与屏幕上的格式化行混在一起或更改选项字符。我要做的就是 “如果arg是A,如果以上都不显示帮助并退出,则B这样做 。”
我对原始问题的理解是双重的。首先,就最简单的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
也许会有一个更优雅的解决方案,但这是可行的并且是极简主义的。