0

optparse在 Python中处理 Unix 风格的通配符参数的正确方法是什么?我有:

myscript.py:

from optparse import OptionParser
parser = OptionParser()
parser.add_option("--input", dest="input", default=None, nargs=1)
parser.add_option("--outdir", dest="outdir", default=None, nargs=1)
(options, args) = parser.parse_args()

我希望能够做到:

myscript.py --input *.txt --outdir mydir/

我不想一定要阅读所有匹配的文件的内容*.txt。我想myscript.py访问他们的文件名,因为有些脚本只是将文件名传递给其他程序,而无需打开/读取文件。如何获得一个返回文件名的迭代器,同时仍然允许--outdir在通配符友好选项之后传递其他参数(在这种情况下--input)?谢谢。

4

1 回答 1

2

Unix shell*.txt在传递给您的程序之前将扩展为单独的参数;Windows 的命令解释器不会。

假设您使用的环境不首先扩展它们 - 即调用python prog.py '*.txt',例如,您可以使用glob.glob()自己进行扩展。

于 2013-02-24T00:07:53.160 回答