Wypełniam listbox sortera plikami z katalogu. Nazwy wszystkich plików zaczynają się od numeru od 01 - n. Kiedy przeglądam pliki w katalogu, pojawiają się one w kolejności numerycznej. Jednak po załadowaniu plików do listy nie są one porządkowane numerycznie. Mogę zmienić liczby wiodące, ale te same pliki zawsze będą pojawiać się w tym samym miejscu.Pliki z katalogu pobieranego w niewłaściwej kolejności za pomocą pythona
Używam tylko uproszczonych nazw przedmiotów, aby zachować prostotę w tym przykładzie. Wciąż pokazuje, że nie są sortowane alfabetycznie ani numerycznie.
Lista powinna pojawić się jako następujące w moim listbox
01. itemA
02. itemB
03. itemC
04. itemD
Ale to pojawia się jako:
01. itemA
04. itemD
02. itemB
03. itemC
mogę zmienić czołowych numerów dookoła, ale pliki będą zawsze wypełnić w taki sam zamówienie (według nazwy, a nie numeru). Dziwne jest to, że nie jest to nawet porządek alfabetyczny.
Użyłem tej
i = 0
for filename in os.listdir(directory):
fileList.insert(i, filename)
i = i + 1
i to
for filename in os.listdir(directory):
fileList.insert(END, filename)
Zarówno wynik w tej samej rzeczy.
Dokumenty mówią ["Lista jest w dowolnej kolejności."] (Http://docs.python.org/2/library/os.html#os.listdir)! Być może jest to data modyfikacji? zagłębiłeś się w inne możliwości? –
możesz spróbować 'na nazwę pliku w posortowanej (os.listdir (katalog)):' http://docs.python.org/2/library/functions.html#sorted – FabienAndre
@FabienAndre działało idealnie, dzięki – user1104854