Python สามารถค้นหาชื่อไฟล์ในเส้นทางที่ระบุของ OS ซึ่งสามารถทำได้โดยใช้โมดูล os ที่มีฟังก์ชัน walk() สิ่งนี้จะใช้เส้นทางเฉพาะเป็นอินพุตและสร้าง 3-tuple ที่เกี่ยวข้องกับ dirpath, dirnames และชื่อไฟล์
ในตัวอย่างด้านล่าง เรากำลังค้นหาไฟล์ชื่อ smpl.htm โดยเริ่มต้นที่ไดเร็กทอรีรากชื่อ “D:\” ฟังก์ชัน os.walk() จะค้นหาไดเร็กทอรีทั้งหมดและแต่ละไดเร็กทอรีย่อยเพื่อค้นหาไฟล์นี้ เป็นผลให้เราเห็นว่าไฟล์มีอยู่ทั้งในไดเร็กทอรีหลักและในไดเร็กทอรีย่อย เรากำลังเรียกใช้โปรแกรมนี้ในระบบปฏิบัติการ windows
ตัวอย่าง
import os def find_files(filename, search_path): result = [] # Wlaking top-down from the root for root, dir, files in os.walk(search_path): if filename in files: result.append(os.path.join(root, filename)) return result print(find_files("smpl.htm","D:"))
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
['D:TP\\smpl.htm', 'D:TP\\spyder_pythons\\smpl.htm']