Naprawdę jestem zaskoczony tym.Glob Pythona powraca tylko pierwszy wynik
mam proste Pythona otoki, który wygląda mniej więcej tak:
import glob
for found in glob.glob(filename):
if not os.path.isdir(found):
my_module.do_stuff(found)
gdzie filename
zostały odczytane z sys.argv
.
Kiedy próbuję glob
w interaktywnej powłoce lub w hello world script, otrzymuję pełną listę (w tym przypadku 5) plików. Jednak kiedy używam go w tym kontekście, otrzymuję tylko pierwszy (alfabetycznie).
Sprawdziłem łapiąc wynik glob.glob
w tablicy i na pewno wystarczy, że ma tylko len()
z 1, nawet jeśli nazwa pliku jest tylko '*'
.
Co mogłem zrobić, że łamie glob
?!
plik Pełny kod, tylko w przypadku można dostrzec moją Gotcha:
#! /usr/bin/python
import pynet.quadrons as q
import os, glob
def print_usage():
print """
(blah blah big long string.)
"""
if __name__ == "__main__":
import sys
if len(sys.argv) < 2:
print_usage()
exit()
filename = ''
try:
filename = sys.argv[1]
except:
print "error parsing arguments."
print_usage()
exit()
for found in glob.glob(filename):
if not os.path.isdir(found):
q.load_and_analyse_file(found)
można wysłać próbkę 'sys.argv'? – Blender
Proszę napisać przykład: Pokaż zawartość folderu i użyty wzorzec, który nie działa – gecco