Ich bearbeite eine tkinter-Listbox mit Dateien aus einem Verzeichnis. Die Namen der Dateien beginnen alle mit einer Nummer von 01 - n. Wenn ich die Dateien im Verzeichnis anzeige, erscheinen sie in numerischer Reihenfolge. Wenn ich die Dateien jedoch in eine Listbox lade, sind sie nicht numerisch geordnet. Ich kann die führenden Zahlen ändern, aber die gleichen Dateien erscheinen immer an der gleichen Stelle.
Ich verwende nur vereinfachte Elementnamen, um die Dinge in diesem Beispiel einfach zu halten. Es zeigt immer noch, dass sie nicht alphabetisch oder numerisch sortiert sind.
Die Liste sollte wie folgt in meiner Listbox erscheinen
%Vor%Aber es erscheint als:
%Vor%Ich kann die führenden Zahlen ändern, aber die Dateien werden immer in der gleichen Reihenfolge (nach Name, nicht nach Nummer) eingefügt. Das Merkwürdige ist, dass es nicht einmal alphabetisch geordnet ist.
Ich habe das benutzt
%Vor%Und das
%Vor%Beide ergeben dasselbe.
os.listdir
garantiert keine Reihenfolge der Inhalte eines Verzeichnisses . Wenn die Elemente sortiert werden sollen, sortieren Sie sie einfach mit der integrierten Funktion sorted
(ggf. mit einer entsprechenden Funktion key
).