Python> Bibliothek> Betriebssystem> os.walk ()> Verzeichnisstruktur / Implementierung abrufen, um jeden Dateipfad im angegebenen Verzeichnis abzurufen

Betriebsumgebung


Xeon E5-2620 v4 (8 Kerne) x 2
32GB RAM
CentOS 6.8 (64bit)
openmpi-1.8.x86_64 und seine-devel
mpich.x86_64 3.1-5.el6 und seine-devel
gcc version 4.4.7 (Und Gfortran)
NCAR Command Language Version 6.3.0
WRF v3.7.Verwende 1.
Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) 
Python 3.6.0 on virtualenv

https://docs.python.org/3/library/os.html Die Funktion os.walk (), auf die ich neugierig war, als ich sie mir ansah.

os.walk(top, topdown=True, onerror=None, followlinks=False) Generate the file names in a directory tree by walking the tree either top-down or bottom-up.

Ich habe es versucht (unter Python 3.6.0).

Vorbereitung

$ mkdir -p TOP/MIDDLE/BOTTOM
$ touch TOP/MIDDLE/mfile1.txt
$ touch TOP/MIDDLE/mfile2.txt
$ touch TOP/MIDDLE/BOTTOM/bfile1.txt
$ touch TOP/MIDDLE/BOTTOM/bfile2.txt
$ touch TOP/tfile1.txt

code> Zeigt das Ergebnis von os.walk () an

test_python_170327a.py


import os

res = os.walk(".")
for elem in res:
	print(elem)
	

Ergebnis


$ python test_python_170327a.py 
('.', ['TOP'], ['test_python_170325b.py', 'test_python_170327a.py'])
('./TOP', ['MIDDLE'], ['tfile1.txt'])
('./TOP/MIDDLE', ['BOTTOM'], ['mfile2.txt', 'mfile1.txt'])
('./TOP/MIDDLE/BOTTOM', [], ['bfile2.txt', 'bfile1.txt'])

Code> Ermittelt den Pfad jeder Datei

https://docs.python.org/3/library/os.html Es wurde wie folgt unter Bezugnahme auf den Beispielcode von implementiert.

test_python_170327b.py


import os

res = os.walk(".")
for elem in res:
	dirpath, dirnames, filenames = elem
	for afile in filenames:
		res = os.path.join(dirpath, afile)
		print(res)

Ergebnis


$ python test_python_170327b.py 
./test_python_170327b.py
./test_python_170325b.py
./test_python_170327a.py
./TOP/tfile1.txt
./TOP/MIDDLE/mfile2.txt
./TOP/MIDDLE/mfile1.txt
./TOP/MIDDLE/BOTTOM/bfile2.txt
./TOP/MIDDLE/BOTTOM/bfile1.txt

nach Code> Refactoring

(Ergänzung 28.03.2017)

test_python_170328a.py


import os

for dirpath, dirnames, filenames in os.walk("."):
    for afile in filenames:
        res = os.path.join(dirpath, afile)
        print(res)

Die zusätzliche Verarbeitung wurde organisiert und ordentlich.

Recommended Posts

Python> Bibliothek> Betriebssystem> os.walk ()> Verzeichnisstruktur / Implementierung abrufen, um jeden Dateipfad im angegebenen Verzeichnis abzurufen
Geben Sie für jede Datei die angegebene Tabelle der Oracle-Datenbank in Python in Excel aus
Holen Sie sich den Desktop-Pfad in Python
Holen Sie sich den Skriptpfad in Python
Holen Sie sich den Desktop-Pfad in Python
[Anfängernotiz] So legen Sie den Lesepfad der Bibliothek in Python fest
Rufen Sie den Pfad zur systemd-Einheitendatei ab
[Python] Lesen Sie die angegebene Zeile in der Datei
[Python Kivy] So erhalten Sie den Dateipfad durch Ziehen und Ablegen
Verwendung der C-Bibliothek in Python
So erhalten Sie die Dateien im Ordner [Python]
Durchsuchen Sie das angegebene Verzeichnis rekursiv, um die Datei anzuzeigen
Ich möchte den Pfad des Verzeichnisses abrufen, in dem die laufende Datei gespeichert ist.
Lesen aller in * .py enthaltenen Klassen in dem von Python angegebenen Verzeichnis
Ich möchte den Dateinamen, die Zeilennummer und den Funktionsnamen in Python 3.4 erhalten
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
So ermitteln Sie die Anzahl der Stellen in Python
[Python] Ruft den offiziellen Dateipfad der Verknüpfungsdatei ab (.lnk)
Wie Sie das aktuelle Verzeichnis in Python in Blender kennen
[Internal_math version (2)] Dekodieren der AtCoder Library ~ Implementierung in Python ~
Versuchen Sie, die Funktionsliste des Python> os-Pakets abzurufen
[Python] Öffnen Sie die CSV-Datei in dem von Pandas angegebenen Ordner
So debuggen Sie eine Standard-Python-Bibliothek in Visual Studio
Ändern Sie das Standardausgabeziel in eine Datei in Python
Ruft den Wert eines bestimmten Schlüssels bis zum angegebenen Index der Wörterbuchliste in Python ab
Holen Sie sich den MIME-Typ in Python und bestimmen Sie das Dateiformat
Entwickelte eine Bibliothek, um die Kindle-Sammlungsliste in Python abzurufen
[Hinweis] Import von Dateien in das übergeordnete Verzeichnis in Python
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
[Python] Ruft das Skriptausführungsverzeichnis mit einem absoluten Pfad ab
Python> __init __. Py> Erforderlich, um das angegebene Verzeichnis als Paket zu behandeln (leere Datei ist akzeptabel)
Ruft den Index jedes Elements der Verwirrungsmatrix in Python ab
Wie Sie die interne Struktur eines Objekts in Python kennen
Suchen Sie den Dateinamen einschließlich des angegebenen Wortes und der angegebenen Erweiterung im Verzeichnis
Klicken Sie in Python auf die New Relic-API, um den Status des Servers abzurufen
Lesen Sie die Datei in Python mit einem relativen Pfad aus dem Programm
Rufen Sie die Formel in der Excel-Datei als Zeichenfolge in Python ab
Manipulation des Datei- / Ordnerpfads in Python
Speichern Sie die Binärdatei in Python
Im Python-Befehl zeigt Python auf Python3.8
So erhalten Sie die Python-Version
Holen Sie sich den Hostnamen in Python
Holen Sie sich den Dateipfad mit Pathlib
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
Codebeispiel zum Abrufen von oauth_token und oauth_token_secret der Twitter-API in Python 2.7
Zeigen Sie den vollständigen Pfad (absoluten Pfad) einer Datei in einem Verzeichnis in Linux Bash an
Der Dateiname war in Python schlecht und ich war süchtig nach Import
Wechseln Sie das zu ladende Modul für jede Ausführungsumgebung in Python
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Ich habe ein Skript erstellt, um zu überprüfen, ob an der angegebenen Position der JSON-Datei in Python Englisch eingegeben wird.
Pin aktuelles Verzeichnis an Skriptverzeichnis in Python
Konvertieren Sie die psd-Datei in Python in png
Wie bekomme ich Stacktrace in Python?
Was ist "Mahjong" in der Python-Bibliothek? ??
Lesen Sie die Datei Zeile für Zeile mit Python
Lesen Sie die Datei Zeile für Zeile mit Python
[Python] Ruft den Zeichencode der Datei ab