【发布时间】:2017-09-11 17:16:06
【问题描述】:
我目前正在扩展一个简单的python 命令行应用程序。它目前支持几个命令行参数:
try:
opts, args = getopt.getopt(sys.argv[1:], 'b:h',
['battle=', 'help'])
except getopt.GetoptError:
usage()
raise
# Parse opts/args.
for opt, arg in opts:
if opt in ('-h', '--help'):
usage()
elif opt in ('-b', '--battle'):
battle = True
我将不得不添加很多额外的命令行参数。我将实现它的方式是,我必须为用户可以设置的每个标志跟踪一个“已设置”标志。
在某些情况下,我想“短路”我的解析器,例如,如果用户同时使用 -x、-y 和 -z 标志运行它,以告诉解析器跳过所有剩余的解析操作,只运行一个特定的函数。但是,这会 is x,y,z set 检查每个选项。
- 是否有一种“pythonic”方式通过允许我“短路”某些解析操作来简化解析?
- 是否可以通过对 opt 和 arg 进行排序来保证我将按特定顺序解析标志/选择?
【问题讨论】:
标签: python python arguments getopt