Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah susunan fail yang dikembalikan oleh `os.listdir()` tidak konsisten?

Mengapakah susunan fail yang dikembalikan oleh `os.listdir()` tidak konsisten?

Susan Sarandon
Susan Sarandonasal
2024-11-09 22:25:02756semak imbas

Why is the order of files returned by `os.listdir()` inconsistent?

Isu Pesanan Alfanumerik dengan os.listdir()

Apabila bekerja dengan direktori dalam Python menggunakan os.listdir(), pengguna mungkin menghadapi perkara yang tidak dijangka susunan senarai subdirektori. Susunan lalai, yang dahulunya alfanumerik, kini kelihatan tidak konsisten dan mengarut. Artikel ini menyiasat faktor yang menentukan susunan senarai ini yang dipaparkan.

Masalah:

Dalam direktori yang mengandungi subdirektori bernama run01 hingga run20, os.listdir(os.getcwd ()) mengembalikan senarai dalam susunan seperti:

['run01', 'run18', 'run14', 'run13', 'run12', 'run11', 'run08', ...]

Penyelesaian:

Tertib senarai yang diambil oleh os.listdir() boleh dimanipulasi menggunakan sorted(). Untuk mengisih senarai mengikut abjad angka, gunakan:

sorted(os.listdir(whatever_directory))

Sebagai alternatif, gunakan kaedah .sort() senarai itu sendiri:

lst = os.listdir(whatever_directory)
lst.sort()

Nota: Yang asal susunan nama fail yang dikembalikan oleh os.listdir() ditentukan oleh sistem fail asas dan mungkin berbeza antara sistem.

Atas ialah kandungan terperinci Mengapakah susunan fail yang dikembalikan oleh `os.listdir()` tidak konsisten?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn