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

การค้นหาไฟล์ใน Python ด้วย os.walk()

Python สามารถค้นหาชื่อไฟล์ในพาธที่กำหนดของระบบปฏิบัติการได้ โดยใช้โมดูล os ร่วมกับฟังก์ชัน walk() ฟังก์ชันนี้รับพาธเฉพาะแล้วสร้าง 3-tuple ประกอบด้วย dirpath, dirnames, และ filenames

ตัวอย่างค้นหาไฟล์ชื่อ smpl.htm เริ่มจากไดรฟ์ราก D:\ ฟังก์ชัน os.walk() จะค้นหาทั่วไดเรกทอรีและซับไดเรกทอรีทั้งหมด ผลลัพธ์พบไฟล์ทั้งในไดเรกทอรีหลักและซับไดเรกทอรี (รันบน Windows)

โค้ดตัวอย่าง

import os

def find_files(filename, search_path):
    result = []
    # วนลูป top-down จากราก
    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']