Python Directory and Files Management
Table of Contents
In diesem Tutorial lernen Sie die Datei- und Verzeichnisverwaltung in Python kennen, d. h. ein Verzeichnis erstellen, umbenennen, alle Verzeichnisse auflisten und damit arbeiten.
Python Directory
Wenn in unserem Python-Programm eine große Anzahl von Dateien zu handhaben ist, können wir unseren Code in verschiedenen Verzeichnissen anordnen, um die Verwaltung zu vereinfachen.
Ein Verzeichnis oder Ordner ist eine Sammlung von Dateien und Unterverzeichnissen. Python hat die os
Modul, das uns viele nützliche Methoden zur Verfügung stellt, um mit Verzeichnissen (und auch Dateien) zu arbeiten.
Get Current Directory
Wir können das aktuelle Arbeitsverzeichnis mit dem getcwd()
Methode der os
module.
Diese Methode gibt das aktuelle Arbeitsverzeichnis in Form eines Strings zurück. Wir können auch die getcwdb()
Methode, um es als bytes-Objekt zu erhalten.
>>> import os >>> os.getcwd() 'C:\\Program Files\\PyScripter' >>> os.getcwdb() b'C:\\Program Files\\PyScripter'
Der zusätzliche Backslash impliziert eine Escape-Sequenz. Das print()
Funktion wird dies richtig rendern.
>>> print(os.getcwd()) C:\Program Files\PyScripter
Changing Directory
Wir können das aktuelle Arbeitsverzeichnis ändern, indem wir die chdir()
method.
Der neue Pfad, in den wir wechseln möchten, muss dieser Methode als String übergeben werden. Wir können sowohl den Schrägstrich verwenden /
oder der umgekehrte Schrägstrich \
um die Pfadelemente zu trennen.
Es ist sicherer, eine Escape-Sequenz zu verwenden, wenn Sie den umgekehrten Schrägstrich verwenden.
>>> os.chdir('C:\\Python33') >>> print(os.getcwd()) C:\Python33
List Directories and Files
Alle Dateien und Unterverzeichnisse innerhalb eines Verzeichnisses können mit dem listdir()
method.
Diese Methode übernimmt einen Pfad und gibt eine Liste von Unterverzeichnissen und Dateien in diesem Pfad zurück. Wenn kein Pfad angegeben ist, gibt es die Liste der Unterverzeichnisse und Dateien aus dem aktuellen Arbeitsverzeichnis zurück.
>>> print(os.getcwd()) C:\Python33 >>> os.listdir() ['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools'] >>> os.listdir('G:\\') ['$RECYCLE.BIN', 'Movies', 'Music', 'Photos', 'Series', 'System Volume Information']
Making a New Directory
Wir können ein neues Verzeichnis mit dem erstellen mkdir()
method.
Diese Methode übernimmt den Pfad des neuen Verzeichnisses. Wird kein vollständiger Pfad angegeben, wird das neue Verzeichnis im aktuellen Arbeitsverzeichnis erstellt.
>>> os.mkdir('test') >>> os.listdir() ['test']
Renaming a Directory or a File
The rename()
Methode kann ein Verzeichnis oder eine Datei umbenennen.
Um ein beliebiges Verzeichnis oder eine Datei umzubenennen, muss der rename()
Methode nimmt zwei grundlegende Argumente auf: den alten Namen als erstes Argument und den neuen Namen als zweites Argument.
>>> os.listdir() ['test'] >>> os.rename('test','new_one') >>> os.listdir() ['new_one']
Removing Directory or File
Eine Datei kann entfernt (gelöscht) werden, indem die remove()
method.
Ebenso die rmdir()
Methode entfernt ein leeres Verzeichnis.
>>> os.listdir() ['new_one', 'old.txt'] >>> os.remove('old.txt') >>> os.listdir() ['new_one'] >>> os.rmdir('new_one') >>> os.listdir() []
Notiz
Die rmdir()
Methode kann nur leere Verzeichnisse entfernen.
Um ein nicht leeres Verzeichnis zu entfernen, können wir die rmtree()
Methode innerhalb der shutil
module.
>>> os.listdir() ['test'] >>> os.rmdir('test') Traceback (most recent call last): ... OSError: [WinError 145] The directory is not empty: 'test' >>> import shutil >>> shutil.rmtree('test') >>> os.listdir() []