optparse:没有选项字符串
我正在尝试使用optparse,但遇到了一些问题。
我的脚本用法是:script <filename>
我不打算添加任何选项,比如:script -f <filename>
或 script --file <filename>
有没有办法让我选择不传递参数字符串?或者有没有办法让我允许用户这样做:
script -f <filename>
script --filename <filename>
script <filename>
以上所有情况都能得到相同的结果吗?
我知道我可以很简单地用argv[1]
来实现,但问题是我可能需要在项目后期添加命令行支持,到时候我不想再到处添加optparse
的支持。这就是我想使用optparse
的原因。
1 个回答
1
import optparse
parser = optparse.OptionParser()
parser.add_option("-f", "--filename", metavar="FILE", dest="input_file", action="append")
options, args = parser.parse_args()
if options.input_file:
args.extend(options.input_file)
for arg in args:
process_file(arg)
这段话的意思是,程序会把args
当作一个输入文件的列表来使用。不过,如果你通过-f
或者--filename
这些参数传入文件名,它们会被加到args
里面,这样你就能得到所有的文件名了。