Heim > Web-Frontend > js-Tutorial > Hauptteil

Python implementiert das Baumdruckverzeichnis structure_python

不言
Freigeben: 2018-04-02 16:31:20
Original
2125 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich den relevanten Code der Python-Baumdruckverzeichnisstruktur im Detail vor, der einen bestimmten Referenzwert hat.

Das Beispiel dieses Artikels teilt Python mit allen Die Verzeichnisstruktur für den Baumdruck dient als Referenz. Der spezifische Inhalt lautet wie folgt:

Vorwort

Als ich in den letzten zwei Tagen die Datendateien sortiert habe, Ich habe festgestellt, dass die Anzeige vieler Ordner nacheinander sehr mühsam ist. Daher wollte ich ein Tool zum rekursiven Ausdrucken der Baumstruktur des Dateiverzeichnisses schreiben und habe fast alle os.walk, und später stellte ich fest, dass das, was zurückgegeben wurde, ein „Generator“ zu sein schien, der jedoch nur eine for-Schleife erforderte Eine BFS-Struktur, nicht die Baumstruktur, die ich wollte. Schließlich habe ich os.listdir gefunden, aber ich kann sie verwenden, um eine Tiefensuche zu schreiben Es heißt rekursiv, mein Problem kann gelöst werden.

Code

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#a test for traverse directory

__author__ = 'AlbertS'

import os
import os.path

def dfs_showdir(path, depth):
 if depth == 0:
 print("root:[" + path + "]")

 for item in os.listdir(path):
 if '.git' not in item:
  print("| " * depth + "+--" + item)

  newitem = path +'/'+ item
  if os.path.isdir(newitem):
  dfs_showdir(newitem, depth +1)

if __name__ == '__main__':
 dfs_showdir('.', 0)
Nach dem Login kopieren

Laufeffekt

root:[.]
+--1111.segmentfault.com
| +--01decode.py
| +--01string.txt
| +--1111.segmentfault.com.tar.gz
+--urllib_test.py
+--use_module.py
+--water_deal
| +--water_pouring2.py
+--web
| +--module_test.py
| +--__init__.py
| +--__pycache__
| | +--module_test.cpython-34.pyc
| | +--__init__.cpython-34.pyc
+--web_crawler
| +--bg_teaser.svg
| +--crawler_images
| | +--10393478-1.jpg
| | +--13802226-1.jpg
| | +--169b1b76356f636.jpg
| | +--1a774de56fb4bf2.jpg
| | +--small_event_dft.jpg
| | +--ypy_qr.jpg
| +--crawler_image_test.py
| +--crawler_test.py
| +--crawler_website
| | +--crawler_article_set
| | | +--aiohttp.html
| | | +--asyncio.html
| | | +--async_await.html
| | | +--base64.html
Nach dem Login kopieren

Zusammenfassung

  • Als ich es zum ersten Mal schrieb, stellte ich fest, dass ich nur eine Ebene von Ordnern rekursieren konnte. Später stellte ich fest, dass das Problem lag ist hier in der Funktion os.path.isdir aufgetreten.

  • Der an die Funktion os.path.isdir übergebene Parameter kann nur ein absoluter Pfad oder ein relativer Pfad relativ zum Arbeitsverzeichnis sein.

  • Mit den oben entdeckten Problemen wurde der Prozess des Spleißens von Newitem-Variablen geboren.

Verwandte Empfehlungen:


Python implementiert die Funktion des Zusammenführens zweier Dateien

Python implementiert die Generation Die Methode zur Implementierung eines iterierbaren Objekts

Python implementiert die Typprüfung von Instanzattributen

Das obige ist der detaillierte Inhalt vonPython implementiert das Baumdruckverzeichnis structure_python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!