1

我正在尝试使用 optparse,但我遇到了问题。

我的脚本用法是:script <filename>

我不打算添加任何选项字符串,例如:script -f <filename>script --file <filename>

有什么方法可以选择不传递参数字符串?或者有什么方法可以让用户这样做:

script -f <filename> 
script --filename <filename>
script <filename>

以上所有都具有相同的后果?

我知道我可以通过 using 轻松地做到这一点,argv[1]但问题是我可能需要在项目的后期添加命令行支持,并添加我不想全部添加optparse支持的时间。这就是我想使用的原因optparse

4

1 回答 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以便您获得所有文件名。

于 2010-06-01T08:05:35.323 回答