Python os.walk()-Methode

Python File(文件) 方法Python OS Datei-/Verzeichnismethoden


Übersicht

Die Methode os.walk() wird verwendet, um Dateinamen in einem Verzeichnis auszugeben, indem der Verzeichnisbaum durchlaufen wird, entweder von oben nach unten oder von unten nach oben.

Die Methode os.walk() ist ein einfacher und benutzerfreundlicher Datei- und Verzeichnisiterator, der uns hilft, Datei- und Verzeichnisaufgaben effizient zu erledigen.

Sie funktioniert unter Unix und Windows.

Syntax

walk()Die Syntax der Methode lautet wie folgt:

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

Parameters

  • top-- ist die Adresse des Verzeichnisses, das Sie durchlaufen möchten; es gibt ein Tripel (root, dirs, files) zurück.

    • root bezieht sich auf die Adresse des Ordners selbst, der gerade durchlaufen wird.
    • dirs ist eine Liste, die die Namen aller Verzeichnisse in diesem Ordner enthält (ohne Unterverzeichnisse).
    • files ist ebenfalls eine Liste, die die Namen aller Dateien in diesem Ordner enthält (ohne Unterverzeichnisse).
  • topdowntopdown -- Optional. Wenn True, wird das Durchlaufen des obersten Verzeichnisses priorisiert; andernfalls wird das Durchlaufen der Unterverzeichnisse von top priorisiert (standardmäßig aktiviert). Wenn der Parameter topdown True ist, durchläuft walk den obersten Ordner und jedes Unterverzeichnis im obersten Ordner.

  • onerroronerror -- Optional. Erfordert ein aufrufbares Objekt, das aufgerufen wird, wenn walk auf eine Ausnahme stößt.

  • followlinksfollowlinks -- Optional. Wenn True, werden die tatsächlichen Verzeichnisse durchlaufen, auf die Verknüpfungen (symbolische Links unter Linux) im Verzeichnis zeigen (standardmäßig deaktiviert). Wenn False, wird das Durchlaufen der Unterverzeichnisse von top priorisiert.

Rückgabewert

Gibt einen Generator zurück.

Beispiel

Das folgende Beispiel demonstriert die Verwendung der Methode walk():

Beispiel

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os
for root, dirs, files in os.walk(".", topdown=False):
    for name in files:
        print(os.path.join(root, name))
    for name in dirs:
        print(os.path.join(root, name))

Die Ausgabe des obigen Programms ist:

./.bash_logout
./amrood.tar.gz
./.emacs
./httpd.conf
./www.tar.gz
./mysql.tar.gz
./test.py
./.bashrc
./.bash_history
./.bash_profile
./tmp
./tmp/test.py

Python File(文件) 方法Python OS Datei-/Verzeichnismethoden

Andere Erweiterungen