如何使用 getopt 以便我可以按每个可能的顺序检查 2 个参数的每个有效组合?例如:try:opts, args = getopt.getopt(argv,"a:b")except getopt.GetoptError: try: opts, args = getopt.getopt(argv,"a:c") except: sys.exit(1)例如,输入可以是script.py -a avalue -b bvalue或script.py -a avalue -c cvalue。a 和另一个参数的位置也可以颠倒。但在执行脚本时我只会得到令人困惑的值
1 回答
江户川乱折腾
TA贡献1851条经验 获得超5个赞
首先,你可能想看看argparse
。需要更多的手动阅读才能开始,但它可以做更多的事情!
对于getopt
,开关始终是可选的,并且始终可以按任何顺序出现。即,如果你这样做
opts, args = getopt.getopt(argv, "a:b:c:")
用户可以按任何顺序给出-a avalue
、-b bvalue
、 和-c cvalue
,并省略其中任何一个或全部。
另外,请注意,getopt
不希望在参数列表中找到程序名称,这意味着您通常希望传递argv[1:]
.
添加回答
举报
0/150
提交
取消