Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah saya boleh menggunakan `os.walk()` untuk mencipta penyenaraian direktori berstruktur dengan penunjuk kedalaman dalam Python?

Bagaimanakah saya boleh menggunakan `os.walk()` untuk mencipta penyenaraian direktori berstruktur dengan penunjuk kedalaman dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-11-07 04:31:02
asal
971 orang telah melayarinya

How can I use `os.walk()` to create a structured directory listing with depth indicators in Python?

Menavigasi Direktori Secara Rekursif dengan os.walk() dalam Python

Berusaha untuk membuat penyenaraian direktori yang lebih berstruktur, pembangun cuba mengubah suai kod mereka untuk memaparkan direktori sebagai tajuk besar dengan garis putus-putus yang menunjukkan kedalaman dan fail di bawahnya. Walau bagaimanapun, pendekatan awal mereka menghasilkan keputusan yang tidak lengkap.

Untuk menangani cabaran ini, kita boleh menggunakan atribut os.sep Python untuk menggambarkan komponen laluan dengan betul. Berikut ialah penyelesaian yang dipertingkatkan:

#!/usr/bin/python
import os

# traverse root directory, and list directories as dirs and files as files
for root, dirs, files in os.walk("."):
    path = root.split(os.sep)
    print((len(path) - 1) * '---', os.path.basename(root))
    for file in files:
        print(len(path) * '---', file)
Salin selepas log masuk

Dalam kod yang disemak ini, kami membahagikan laluan menggunakan os.sep sebagai pembatas, yang memuatkan kedua-dua sistem fail Windows dan Unix. Dengan menolak 1 daripada panjang laluan, kita boleh mendapatkan kedalaman tahap semasa dan memaparkan bilangan garis putus-putus yang sesuai.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan `os.walk()` untuk mencipta penyenaraian direktori berstruktur dengan penunjuk kedalaman 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