Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การ List ไฟล์เรียงลำดับอักษรใน Python (os.listdir + sorted)

ใช้ os.listdir() ดึงรายการใน Directory แล้ว sorted() เรียงลำดับ

ตัวอย่าง

>> import os
>>> list_dir = os.listdir('.')
>>> list_dir = [f.lower() for f in list_dir]  # แปลง Lowercase เพื่อ Case-insensitive sort
>>> sorted(list_dir)
['dlls', 'doc', 'etc', 'include', 'lib', 'libs', 'license.txt', 'news.txt', 'python.exe', 'pythonw.exe', 'readme.txt', 'scripts', 'share', 'tcl', 'tools', 'w9xpopen.exe']

รูปแบบย่อ (One-liner)

>> sorted(f.lower() for f in os.listdir('.'))

Case-sensitive Sort (Default)

>> sorted(os.listdir('.'))
# ผลลัพธ์: ตัวพิมพ์ใหญ่จะอยู่ก่อนตัวพิมพ์เล็ก (ASCII order)
['DLLs', 'Doc', 'LICENSE.txt', 'NEWS.txt', 'README.txt', 'Scripts', 'include', 'lib', ...]

เรียงตามเวลา (Time-based Sort)

>> import os
>>> files = [(f, os.path.getmtime(f)) for f in os.listdir('.')]
>>> sorted(files, key=lambda x: x[1])
# เรียงตาม mtime (modified time) เก่า → ใหม่