argparse python 模块 的 文档 虽然我敢肯定,但对于我小小的初学者大脑来说,现在掌握的内容太多了。我不需要在命令行上进行数学运算,也不需要干预屏幕上的格式行或更改选项字符。我想要做的就是 “如果 arg 是 A,则执行此操作,如果 B 执行此操作,如果以上都没有显示帮助并退出” 。
原文由 matt wilkie 发布,翻译遵循 CC BY-SA 4.0 许可协议
argparse python 模块 的 文档 虽然我敢肯定,但对于我小小的初学者大脑来说,现在掌握的内容太多了。我不需要在命令行上进行数学运算,也不需要干预屏幕上的格式行或更改选项字符。我想要做的就是 “如果 arg 是 A,则执行此操作,如果 B 执行此操作,如果以上都没有显示帮助并退出” 。
原文由 matt wilkie 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是我使用 argparse
的方式(带有多个参数):
parser = argparse.ArgumentParser(description='Description of your program')
parser.add_argument('-f','--foo', help='Description for foo argument', required=True)
parser.add_argument('-b','--bar', help='Description for bar argument', required=True)
args = vars(parser.parse_args())
args
将是一个包含参数的字典:
if args['foo'] == 'Hello':
# code here
if args['bar'] == 'World':
# code here
在您的情况下,只需添加一个参数即可。
原文由 Diego Navarro 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答4.5k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
我对原始问题的理解是双重的。首先,就最简单的 argparse 示例而言,我很惊讶我在这里没有看到它。当然,为了简单起见,这也是开销很小的开销,但它可能会让你开始。
但是现在需要这个位置参数。如果你在调用这个程序时忽略它,你会得到一个关于缺少参数的错误。这使我进入原始问题的第二部分。 Matt Wilkie 似乎想要一个没有命名标签的 可选 参数( –option 标签)。我的建议是修改上面的代码如下:
很可能有一个更优雅的解决方案,但这很有效并且是极简主义的。