glob
полезно, если вы делаете это внутри Python, однако ваша оболочка может не передавать *
(я не знаком с оболочкой Windows).
Например,, когда я делаю следующее:
import sys
print sys.argv
На своей оболочке я набираю:
$ python test.py *.jpg
Я получаю это:
['test.py', 'test.jpg', 'wasp.jpg']
Обратите внимание, что argv
не содержит "*.jpg"
Важным уроком здесь является то, что большинство оболочек расширяет звездочку в оболочке , прежде чем она будет передана вашему приложению.
В этомслучае, чтобы получить список файлов, я бы просто сделал sys.argv[1:]
.В качестве альтернативы, вы можете избежать *
, так что python видит литерал *
.Затем вы можете использовать модуль glob
.
$ getFileNames.py "*.jpg"
или
$ getFileNames.py \*.jpg