我正在尝试使用optparse,但我遇到了问题。
我的脚本用法是:script <filename>
我不打算添加任何选项字符串,例如:script -f <filename>
或script --file <filename>
有什么办法可以选择不传递参数字符串吗?或者有什么方法可以让用户这样做:
script -f <filename>
script --filename <filename>
script <filename>
以上所有具有相同的结果?
我知道我可以使用argv[1]
轻松完成此操作,但问题是我可能需要在项目后期添加命令行支持并添加该时间我不想添加{{1}全力支持。这就是我想使用optparse
的原因。
答案 0 :(得分: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
,这样您就可以获得所有这些。