Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah saya boleh menggunakan `os.walk()` untuk mencipta penyenaraian direktori berstruktur dengan penunjuk kedalaman dalam 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)
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!