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()
[]