Bagaimanakah saya boleh menyesuaikan output os.walk() untuk menggambarkan struktur direktori rekursif dalam Python?

Patricia Arquette
Lepaskan: 2024-11-06 10:03:02
asal
552 orang telah melayarinya

How can I customize the output of os.walk() to visualize a recursive directory structure in Python?

Rekursif Direktori Traversal dengan os.walk() dalam Python

Dalam Python, fungsi os.walk() ialah alat yang berkuasa untuk merentasi direktori dan subdirektori secara rekursif. Dengan memanfaatkan fungsinya, anda boleh menavigasi melalui sistem fail anda dan mengakses fail serta direktori dengan cekap.

Menggunakan os.walk() untuk Mencetak Struktur Direktori

Pertimbangkan perkara berikut kod:

import os

for root, dirs, files in os.walk("."):
    print(root)
    print("")
    for items in fnmatch.filter(files, "*"):
        print("..." + items)
    print("")
Salin selepas log masuk

Kod ini akan merentasi direktori semasa dan mencetak direktori serta fail di dalamnya. Walau bagaimanapun, output tidak akan berada dalam format yang diingini: direktori dan fail akan disenaraikan dengan cara yang sama.

Menyesuaikan Output Traversal Direktori

Untuk mencetak direktori dan struktur fail seperti yang dikehendaki, seperti:

A
---a.txt
---b.txt
---B
------c.out
Salin selepas log masuk

di mana A dan B ialah direktori dan selebihnya ialah fail, anda boleh mengubah suai kod seperti berikut:

import os

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

Kod yang diubah suai ini:

  • Memisahkan laluan ke dalam senarai menggunakan pemisah os.sep, yang mewakili pemisah direktori pada sistem pengendalian semasa.
  • Mengira tahap lekukan untuk setiap entri berdasarkan bilangan komponen laluan tolak 1.
  • Menggunakan gabungan lekukan dan nama asas direktori atau fail untuk memaparkan struktur dalam format yang diingini.

Dengan melaraskan lekukan dan menggunakan fungsi nama asas, anda boleh menyesuaikan output untuk memenuhi keperluan khusus anda. Teknik ini membolehkan anda menggambarkan hierarki direktori dan mengakses fail serta direktori dengan lebih mudah.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menyesuaikan output os.walk() untuk menggambarkan struktur direktori 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!