Tôi đang điền một hộp danh sách tkinter với các tệp từ một thư mục. Tên của tất cả các tệp bắt đầu bằng một số từ 01 - n. Khi tôi xem các tệp trong thư mục chúng xuất hiện theo thứ tự số. Tuy nhiên, khi tôi tải các tệp vào một hộp danh sách, chúng không được sắp xếp theo số lượng. Tôi có thể thay đổi những con số hàng đầu xung quanh, nhưng cùng một tệp sẽ luôn xuất hiện ở cùng một vị trí.Tệp từ thư mục được kéo theo thứ tự sai với python
Tôi chỉ sử dụng tên mục đơn giản để đơn giản hóa với ví dụ này. Nó vẫn cho thấy rằng chúng không được sắp xếp theo thứ tự bảng chữ cái hoặc số.
Danh sách này sẽ xuất hiện như sau trong listbox tôi
01. itemA
02. itemB
03. itemC
04. itemD
Nhưng nó xuất hiện như:
01. itemA
04. itemD
02. itemB
03. itemC
tôi có thể thay đổi số hàng đầu xung quanh, nhưng các tập tin sẽ luôn luôn cư trong cùng một thứ tự (theo tên, không phải số). Điều kỳ lạ là, nó thậm chí không phải thứ tự chữ cái.
Tôi đã sử dụng này
i = 0
for filename in os.listdir(directory):
fileList.insert(i, filename)
i = i + 1
Và đây
for filename in os.listdir(directory):
fileList.insert(END, filename)
Cả hai kết quả trong điều tương tự.
Tài liệu nói ["Danh sách theo thứ tự tùy ý."] (Http://docs.python.org/2/library/os.html#os.listdir)! Có lẽ đó là ngày sửa đổi? bạn đã đi sâu vào bất kỳ khả năng nào khác? –
bạn có thể thử 'cho tên tệp trong sắp xếp (os.listdir (thư mục)):' http://docs.python.org/2/library/functions.html#sorted – FabienAndre
@FabienAndre hoạt động hoàn hảo, nhờ – user1104854