对于脚本,我目前正在使用OptionParser
向输入添加变量。但是,我目前的所有选项都是布尔值,而且使用argv
进行解析似乎更容易。例如:
$ script.py option1 option4 option6
然后执行以下操作:
if 'option1' in argv:
do this
if 'option2' in argv:
do this
etc...
如果选项都是布尔值,是否建议使用argv
而不是OptionParser
?
答案 0 :(得分:7)
“然而,我现在的所有选择都是布尔值,而且似乎就是这样 使用argv会更容易解析。“
使用argv没有任何问题,如果使用argv更简单,就没有理由不这样做。
答案 1 :(得分:2)
OptionParser已被弃用,除非你遇到旧版本的python,否则你应该使用ArgParser模块。
对于一次性脚本,自己解析sys.argv没有任何问题。使用参数解析模块而不是自己编写模块有一些优点。
基本上,如果你期望你的命令行选项随着时间的推移而改变,或者期望你的代码必须被别人修改,那么ArgParse的开销并不是那么糟糕,并且可能会节省你的时间