Python OS.Gehen Sie Beispiel

Python OS.Gehen Sie Beispiel

Die Walk -Funktion in jedem Betriebssystem ist wie das Betriebssystem.Weg. Die Walk-Funktion generiert die Dateinamen in einem Verzeichnisbaum, indem er durch den Baum in beide Richtungen navigiert, entweder eine Top-Down- oder eine Bottom-up-Querquelle. Jedes Verzeichnis in jedem Baum eines Systems hat ein Basisverzeichnis im Rücken. Und dann fungiert es als Unterverzeichnis. Der Walk () erzeugt die Ausgabe in drei Tupeln, dem Pfad, dem Verzeichnis und den Dateien, die in jedem Unterverzeichnis erhältlich sind.

  • Dickpath: Es ist eine Zeichenfolge, die die Dateien oder einen Ordner zum Pfad zum Verzeichnis führt.
  • Dirnames: Alle Unterverzeichnisse, die nicht enthalten. '.' Und '… '.
  • Dateinamen: Der Verzeichnispfad, der andere Dateien als Verzeichnisdateien enthält. Es handelt sich um eine Liste von Ordnern oder Dateien, die möglicherweise systemgesteuerte oder von Benutzer erstellte Dateien sind.

Die in der Liste vorhandenen Namen enthalten keine Komponente des Pfades. Um den vollständigen Pfad zu holen, der von oben zu einem Verzeichnis oder einer Datei im Verzeichnispfad beginnt, verwenden wir das Betriebssystem.gehen.Join (), das Argumente von Dirath und dem Verzeichnisnamen hat.

Top-Down und Bottom-up sind die beiden optionalen Argumente gleichzeitig. Dies bedeutet, dass eine der Optionen in der Funktion verwendet werden soll, wenn wir eine Abfolge von Verzeichnissen wünschen. In einigen Fällen wird die Top-Down-Sequenz standardmäßig ausgewählt, wenn wir kein Argument zu dieser Sequenz erwähnen. Wenn das Argument von oben nach unten zutreffend ist, wird zuerst das Triple für das Hauptverzeichnis angezeigt und dann die Unterverzeichnisse später. Und wenn die Top-Down-Fehlverteilung das Triple für das Verzeichnis danach für die Unterverzeichnisse angezeigt wird. Mit anderen Worten, die Sequenz ist auf eine Weise nach oben.

Wenn die Top-Down-Situation zutriff. Während die Aktualisierung der Namen von Verzeichnissen, wenn der Top-Down falsch ist, nicht anwendbar ist. Dies liegt daran, dass im Bottom-up-Modus die Verzeichnisse in den Verzeichnissen vor dem Verzeichnispfad angezeigt werden. ListDir () -Funktion kann die Fehler standardmäßig beseitigen.

Python OS.Walk () arbeiten

Mal sehen, wie das Dateisystem in Python durchquert wird. Es funktioniert wie ein Baum mit einer einzelnen Wurzel, die sich weiter in Zweige unterteilt. Und die Zweige werden als Unterbranchen erweitert und so weiter. Diese Walk -Funktion gibt die Namen von Dateien in einem Verzeichnisbaum aus, indem sie durch den Baum entweder von oben oder von unten navigiert.

Syntax von OS.gehen()

# OS.Walk (top [, topdown = true [onError = Keine [Followlinks = false]]]))

Spitze = Es ist der Kopf oder ein Ausgangspunkt einer Subdadumanlage. Es ergibt 3 Tupel, wie wir zu Beginn des Artikels beschrieben haben.

Von oben nach unten = Für den Fall, wenn es wahr ist, ist das Scannen von Verzeichnissen von oben bis zum Ende und umgekehrt im anderen Fall umgekehrt.

Oneroor = Dies ist eine spezielle Funktion, die den Fehler überwacht hat. Es kann entweder einen Fehler zeigen, um mit dem Spaziergang weiterzumachen oder die Ausnahme zu erhöhen, um den Spaziergang abzulehnen.

Folgen Sie Links = Führt zu unaufhaltsamen Rekursionen; es ist auf wahr eingestellt.

Notiz: Der Followlinks Option ist als wahr eingestellt; Es führt zu unaufhaltsamen Rekursionen, wenn ein Link auf das eigene Basisverzeichnis zeigt. Die Funktion Walk () nimmt nicht die Aufzeichnung der Verzeichnisse, die sie bereits durchquert hat.

Beispiel 1

Alle Dateien im Verzeichnis sollen mit dieser Funktion aufgeführt werden. Betrachten Sie einen Codeausschnitt. Der erste Schritt besteht darin, das Betriebssystemmodul zu importieren, wie andere Funktionen, die von der Python Library importiert werden sollen.

# OS importieren

Danach werden wir eine Funktion namens definierenBetriebssystemmodul''. Verwenden Sie in dieser Funktion eine für die Schleife, um alle Dateien nach den Verzeichnissen und dem Stamm zu erhalten. Die Top-Down-Technik wird hier verwendet. Und "FollowlinksWird wahr gehalten.

OS importieren
# Das Betriebssystemmodul bietet eine Funktion, die eine Liste von Dateien oder Ordnern erhält
# in einem Verzeichnis
# '.'bedeutet den aktuellen Ordner
# Walk (…) -Methode generiert die Dateinamen in einem Verzeichnisbaum, indem Sie das Gehen
# Baum entweder oben oder unten nach oben
Def os_module ():
Für Root, Dirs, Dateien im Betriebssystem.gehen('.', topdown = false, onError = none, folgelinks = true):
Für den Dateinamen in Dateien:
drucken (Dateiname)
Def Main ():
print ('\ n… Verwenden des Betriebssystemmoduls, um die Dateien aufzulisten… \ n')
os_module ()
Wenn __name__ == '__main__':
hauptsächlich()

Dieses Modul druckt nur die Dateinamen im Verzeichnis. Der '.'Full Stop, den wir hier verwendet haben, ist speziell für den aktuellen Ordner. Im Hauptprogramm werden wir die deklarierte Funktion aufrufen.

In der Ausgabe sehen Sie die Dateinamen im aktuellen Ordner.

Beispiel 2

Diese Funktion gibt den Wert zurück, indem alle Verzeichnisse und die Unterverzeichnisse im aktuellen Pfad des Verzeichnisses von unten nach oben scannen, wie oben nach unten = Falsch hier.

Betriebssystem.gehen(".”, Topdown = false) #!/usr/bin/python
OS importieren
Für Root, Dirs, Dateien im Betriebssystem.gehen(".", topdown = false):
Für Namen in Dateien:
Druck (Betriebssystem.Weg.Join (Root, Name))
Für den Namen in Dirs:
Druck (Betriebssystem.Weg.Join (Root, Name))

A für Schleife wird verwendet, um die Dateien und Verzeichnisse separat zu drucken. Der "Betriebssystem.Weg.verbinden”Bringt den Namen und das Hauptverzeichnis vom Pfad.

Ein kleiner Teil des Ausgangs ist oben gezeigt. Wenn man die Ausgabe in die obere Reihenfolge nach unten bringen möchte, sollte das Modul von Top-down als wahr gehalten werden.

# OS.gehen(".”, Topdown = true)

Beispiel 3

Dieses Beispiel unterscheidet sich von den vorherigen in der Art der verwendeten Parametertypen. Hier nimmt die Funktion nur den 'Pfad'. A für die Schleife wird verwendet, um die Werte von Dateien, Verzeichnisse des Pfades, anzuzeigen. Wenn die Nachbeziehung verwendet wird, um den resultierenden Wert jeweils in jeder Zeile zu begrenzen. Hier haben wir 4 verwendet. Nach 4 Wörtern wird der Wert in Richtung der nächsten Zeile verlagert. Der Startwert der Variablen "I" wird als Null angenommen.

OS importieren
path = "C: \\ Benutzer"
I = 0
für (Pfad, Dirs, Dateien) im Betriebssystem.Walk (Pfad):
Druck (Pfad)
drucken (Dires)
Druck (Dateien)
drucken("----")
i += 1
Wenn i> = 4:
brechen

Die jeweilige Ausgabe ist unten gezeigt. Der Pfad, die Verzeichnisse und die Dateien werden als Ausgabe angezeigt.

Beispiel 4

Wie bei der Walk () -Methode im Betriebssystem können wir auch die „verwenden“ verwendenBetriebssystem.ListDir ()Alternative zum Pfad, der alle Werte des jeweiligen Wertes anzeigt. ich.e., Hier haben wir Dateien verwendet, um gedruckt zu werden. Der Pfad wird als Argument für die Funktion genommen. Der resultierende Wert wird in der Variablen der Dateien gespeichert. Für die Schleife wird alle Dateien im jeweiligen Verzeichnis angezeigt.

# Files = os.ListDir (Pfad) importieren
Path = '/Benutzer/Benutzer//.Spyder-Py3 '
Dateien = os.ListDir (Pfad)
Für F in Dateien:
Druck (f)

Die Liste wird hier angezeigt, die alle Dateien im jeweiligen Verzeichnis enthält.

Beispiel 5

Sie haben die Beispiele gesehen, in denen alle Ordner oder Pfade angezeigt werden, selbst die, die wir verbergen möchten. Sie sind auch entlarvt. Aber „os.Walk () ”verwendet einige Funktionen, die es ermöglichen, die versteckten Verzeichnisse auszuschließen.

Nach dem Import des Betriebssystemmoduls haben wir den Pfad eingeführt, den wir im Beispiel verwenden werden.

# Dirs.[:] = [D für D in Dirs. Wenn nicht d.beginnt mit('.')] OS importieren
path = 'c:/user/user/.Spyder-Py3 '
Für Root, Dirs, Dateien im Betriebssystem.Walk (Pfad):
drucken (root)
Dirs [:] = [D für D in Dirs, wenn nicht d.beginnt mit('-')]
Für Dir in Dirs:
Druck (Betriebssystem.Weg.Join (Root, Dir))
Für Dateien in Dateien:
Druck (Betriebssystem.Weg.Join (Root, Datei))

Diese Funktion ist in der Lage, die Verzeichnisse jetzt mit dieser Liste zu verbergen, und die versteckten Verzeichnisse sind nicht in der Ausgabe enthalten.

Beispiel 6

Angenommen, Sie haben eine Liste der Namen des Verzeichnisses, die Sie während der Funktion von Walk () vernachlässigen möchten. Eine Möglichkeit besteht darin, die Methode wie oben beschrieben zu verwenden. Der zweite Weg wird hier erklärt werden. Dies gibt das gleiche Ergebnis.

# Dirs.[:] = [] OS importieren
path = 'c:/user/user/.Spyder-Py3 '
Für Root, Dirs, Dateien im Betriebssystem.Walk (Pfad):
Wenn Root in Ignore_List:
Dirs [:] = []
Dateien [:] = []
print (Dirs [:])

Beispiel 7

Wenn Sie den Ausdruck der absoluten Werte, die Namen von Unterverzeichnissen und die Verzeichnisse, aber nicht den gesamten Pfad, in diesem Fall die Python Walk -Funktion verwenden möchten, wird die Python -Walk -Funktion verwendet.

OS importieren
x = r'c:/user/user/.Spyder-Py3 '
für r, d, f in os.Walk (x):
drucken (d)

Aus der Ausgabe können Sie feststellen, dass die resultierenden Werte begrenzt sind.

Abschluss

Die Funktion 'Python OS Walk' wird verwendet, um alle Pfade in einem Verzeichnis von oben nach unten oder von unten nach oben zu durchqueren. Wir haben auch gesehen. Sicherlich wird dieser Artikel ein hilfreicher Vorsprung für die Implementierung der Walk -Funktion des Betriebssystemmoduls in Python sein.