glob
est utile si vous faites cela dans l'intérieur de python, cependant, votre shell ne peut pas être passer dans la *
(Je ne suis pas familier avec le shell Windows).
Par exemple, quand je fais ce qui suit:
import sys
print sys.argv
Sur ma coquille, je tape:
$ python test.py *.jpg
Je reçois ceci:
['test.py', 'test.jpg', 'wasp.jpg']
Notez que argv
ne le fait pas contenir "*.jpg"
La leçon importante ici est que la plupart des shells développeront l'astérisque au shell, avant qu'il ne soit passé à votre application.
Dans ce cas, pour obtenir la liste des fichiers, je ferais simplement sys.argv[1:]
. Alternativement, vous pouvez échapper le *
, de sorte que Python voit le littéral *
. Ensuite, vous pouvez utiliser le module glob
.
$ getFileNames.py "*.jpg"
ou
$ getFileNames.py \*.jpg
Comme Donald Miner souligne dans l'autre réponse, ce n'est pas tout à fait correct selon le shell utilisé. –