我有一个python命令行脚本,可以用两种不同的方式使用。
第一种情况是这样的:
script.py -max MAX -min MIN -delta DELTA
其中
-max
和-min
是必需参数,而-delta
是可选参数。第二种情况是:
script.py some_file.txt -f
其中
some_file.txt
是必需的位置参数,而-f
是可选的。如何使用任何Python命令行参数解析器(argparse,optparse,getopt等)实现该功能?
更新:脚本只做一件事-抓取网站。但是操作时间很长。在第一种情况下,我们运行新的抓取会话,而在第二次加载中,我们先保存了先前的会话,然后继续抓取。
最佳答案
我会这样做:
parser = OptionParser()
parser.add_option("-max", dest="max")
parser.add_option("-min", dest="min")
parser.add_option("-delta", dest="delta")
parser.add_option("-f", dest="f_thing", action="store_true")
(options,args) = parser.parse_args()
if not args:
if not options.max or not options.min:
parser.error("Please provide a max and min value.")
else:
yourfunction(options, args) # without some_file.txt name
else:
yourfunctions(options, args) # pass the some_file.txt name
我不确定这是否是您想要的100%,但是我认为这个问题有点太过紧密了。那会给您一些想法,如何实现您的目标。
关于python - Python命令行脚本。有两种使用场景。如何实现参数解析?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8565119/