Python,optparse和文件掩码

Vla*_*kov 3 python optparse

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的原因.我做错了什么?

Cha*_*ffy 8

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.