if __name__=='__main__':
parser = OptionParser()
parser.add_option("-i", "--input_file",
dest="input_filename",
help="Read input from FILE", metavar="FILE")
(options, args) = parser.parse_args()
print options
Run Code Online (Sandbox Code Playgroud)
结果是
$ python convert.py -i video_*
{'input_filename': 'video_1.wmv'}
Run Code Online (Sandbox Code Playgroud)
当前文件夹中有video_ [1-6] .wmv.问题是video_*成为video_1.wmv的原因.我做错了什么?
Python与此无关 - 它是shell.
呼叫
$ python convert.py -i 'video_*'
Run Code Online (Sandbox Code Playgroud)
它会通过那个通配符.
其他六个值作为args传递,没有附加到-i,就像你运行一样python convert.py -i video_1 video_2 video_3 video_4 video_5 video_6,并且-i唯一附加到下一个参数.
也就是说,你最好的选择可能只是从你的输入文件名中读取args,而不是使用options.input.