Skip to main content
 首页 » 编程设计

Python 命令行脚本。两种使用场景。如何实现参数解析

2025年05月04日11虾米姐

我有一个可以以两种不同方式使用的 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 等)实现它?

更新:脚本只做一件事——抓取网站。但是它的运行时间很长。在第一种情况下,我们运行新的抓取 session ,而在第二次加载之前保存的 session 中并继续抓取。

请您参考如下方法:

我会这样做:

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%,但我认为这个问题有点太接近了。这会让您对如何实现目标有所了解。