Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mencari Fail Secara Rekursif dalam Python?

Bagaimanakah Saya Boleh Mencari Fail Secara Rekursif dalam Python?

Linda Hamilton
Lepaskan: 2024-12-12 20:21:17
asal
616 orang telah melayarinya

How Can I Recursively Find Files in Python?

Mencari Fail Secara Rekursif menggunakan Python

Dalam Python, anda boleh mendapatkan semula semua fail dalam direktori dan subdirektorinya secara rekursif dengan berkesan, membenarkan fail komprehensif penerokaan.

Satu kaedah melibatkan penggunaan pathlib.Path().rglob(). Untuk direktori dengan kedalaman lebih daripada satu tahap, pendekatan ini berkesan mendapatkan semula semua fail yang sepadan. Sebagai contoh, coretan kod berikut menunjukkan aplikasinya:

from pathlib import Path

for path in Path('src').rglob('*.c'):
    print(path.name)
Salin selepas log masuk

Sebagai alternatif, fungsi glob.glob(), ditambah dengan hujah rekursif=True, boleh digunakan untuk carian fail rekursif:

from glob import glob

for filename in glob('src/**/*.c', recursive=True):
    print(filename) 
Salin selepas log masuk

Walau bagaimanapun, untuk senario di mana fail yang bermula dengan titik (cth., fail tersembunyi) memerlukan untuk disertakan, os.walk() menyediakan penyelesaian yang berdaya maju:

import fnmatch
import os

matches = []
for root, dirnames, filenames in os.walk('src'):
    for filename in fnmatch.filter(filenames, '*.c'):
        matches.append(os.path.join(root, filename))
Salin selepas log masuk

Dengan kaedah ini, anda boleh menavigasi struktur direktori dengan cekap dan mendapatkan semula fail mengikut kriteria yang anda tentukan. Sama ada fail anda bersarang secara mendalam atau menyertakan item tersembunyi, Python menyediakan alatan yang mantap untuk keperluan penemuan fail anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Fail Secara Rekursif dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan