Mencari fail dalam Python boleh menjadi satu cabaran apabila lokasi fail berbeza-beza merentas sistem yang berbeza. Nasib baik, Python menyediakan modul os.walk yang membolehkan anda melintasi direktori dan mencari fail dengan mudah.
os.walk untuk Carian Fail
os.walk mencipta penjana objek yang berulang ke atas direktori dan subdirektorinya, menghasilkan tiga tupel untuk setiap lelaran:
Mencari Fail Tunggal
Untuk mencari kemunculan pertama fail tertentu, hanya lelaran di atas tupel yang dihasilkan dan semak sama ada nama fail berada dalam senarai fail:
<code class="python">import os def find(name, path): for root, dirs, files in os.walk(path): if name in files: return os.path.join(root, name)</code>
Mencari Semua Kejadian Fail
Untuk mencari semua kejadian fail, buat senarai untuk menyimpan padanan:
<code class="python">def find_all(name, path): result = [] for root, dirs, files in os.walk(path): if name in files: result.append(os.path.join(root, name)) return result</code>
Corak Fail Padan
Untuk mencari fail yang sepadan corak, gunakan modul fnmatch:
<code class="python">import os, fnmatch def find(pattern, path): result = [] for root, dirs, files in os.walk(path): for name in files: if fnmatch.fnmatch(name, pattern): result.append(os.path.join(root, name)) return result find('*.txt', '/path/to/dir')</code>
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan Python untuk mencari fail dengan cekap merentas berbilang direktori?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!