Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mendapatkan Senarai Subdirektori (Semua atau Hanya Segera) dalam Python dengan Cekap?

Bagaimanakah Saya Boleh Mendapatkan Senarai Subdirektori (Semua atau Hanya Segera) dalam Python dengan Cekap?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-02 22:47:12194semak imbas

How Can I Efficiently Get a List of Subdirectories (All or Just Immediate) in Python?

Mendapatkan Senarai Subdirektori dalam Direktori Semasa: Penyelesaian Komprehensif Python

Dalam Python, apabila anda perlu mendapatkan senarai komprehensif subdirektori di dalam direktori semasa, terdapat beberapa pendekatan berkesan yang boleh anda gunakan. Satu pendekatan sedemikian melibatkan memanfaatkan fungsi os.walk yang berkuasa.

Fungsi os.walk mengambil direktori sebagai inputnya dan meneroka strukturnya secara berulang, mengembalikan tiga kali ganda untuk setiap subdirektori: nama direktori, subdirektorinya dan failnya. Untuk mendapatkan semula nama subdirektori sahaja, anda boleh menggunakan pemahaman senarai untuk mengekstrak elemen pertama setiap tiga kali ganda:

subdirectories = [x[0] for x in os.walk(directory)]

Kaedah ini akan merentasi keseluruhan pepohon direktori secara rekursif, menyediakan senarai lengkap semua subdirektori, termasuk yang bersarang dalam direktori lain.

Jika, bagaimanapun, keperluan anda terhad untuk mendapatkan subdirektori segera, tidak termasuk yang berada di peringkat lebih dalam pepohon direktori, terdapat kaedah alternatif yang boleh membantu anda mencapai perkara ini:

  • Anda boleh menggunakan os.listdir untuk menyenaraikan semua fail dan direktori dalam direktori semasa dan kemudian menapis keluar direktori menggunakan os.path.isdir:
immediate_subdirectories = [d for d in os.listdir(".") if os.path.isdir(d)]
  • Sebagai alternatif, anda boleh menggunakan sedikit ungkapan os.next(os.walk('.'))[1] ringkas untuk mendapatkan semula senarai subdirektori segera, seperti yang ditunjukkan dalam bahan rujukan asal.

Dengan menggunakan teknik ini, anda boleh cekap mendapatkan senarai sama ada semua subdirektori atau hanya subdirektori segera dalam direktori semasa dalam Python, membolehkan anda menavigasi dan berinteraksi dengan berkesan struktur direktori mengikut keperluan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Senarai Subdirektori (Semua atau Hanya Segera) dalam Python dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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