Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengambil Fail daripada Subfolder Secara Rekursif dalam Python?

Bagaimana untuk Mengambil Fail daripada Subfolder Secara Rekursif dalam Python?

Linda Hamilton
Lepaskan: 2024-10-29 23:13:29
asal
257 orang telah melayarinya

How to Retrieve Files from Subfolders Recursively in Python?

Mengambil Fail daripada Subfolder Secara Rekursif

Pernyataan Masalah

Skrip Python menghadapi masalah semasa mencari subfolder secara rekursif untuk fail dengan sambungan tertentu. Skrip bertujuan untuk mencipta senarai fail yang ditemui, tetapi subfolder yang diambil oleh skrip berada dalam senarai dan bukannya mewakili folder yang mengandungi fail yang terletak.

Penyelesaian

Untuk menyelesaikan isu ini, dirpath, yang diwakili oleh pembolehubah "root" dalam kod yang disediakan, harus digunakan dan bukannya pembolehubah subFolder. Dirpath mengandungi laluan mutlak direktori di mana fail terletak berada.

Coretan Kod

Kod Python yang disemak berikut menunjukkan penggunaan dirpath yang betul:

<code class="python">import os
result = [os.path.join(dp, f) for dp, dn, filenames in os.walk(PATH) for f in filenames if os.path.splitext(f)[1] == '.txt']</code>
Salin selepas log masuk

Dengan menggunakan pengubahsuaian ini, kod akan melintasi subfolder secara rekursif dengan berkesan dan mencipta senarai fail dengan sambungan yang diingini, dengan setiap laluan fail termasuk folder yang dimilikinya.

Pilihan Tambahan

Sebagai tambahan kepada penyelesaian utama, pendekatan alternatif menggunakan modul glob atau modul pathlib terbina dalam Python untuk Python 3.4 dan ke atas juga disediakan untuk menawarkan rangkaian pilihan yang lebih komprehensif.

Kesimpulan

Skrip yang diubah suai ini dengan tepat mengenal pasti dan menyenaraikan fail dengan sambungan yang ditentukan dalam folder tertentu dan subfoldernya, menyediakan penyelesaian yang mantap untuk carian fail rekursif dalam Python.

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Fail daripada Subfolder 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