Python Benennen Sie Dateien und Verzeichnisse mit os.rename() um

โšก Intelligente Zusammenfassung

Python Benennt Dateien und Verzeichnisse mit os.rename() um. Hier lernen Sie os.rename(), os.renames(), shutil.move() und pathlib Path.rename() kennen, sowie wie man ein Verzeichnis und mehrere Dateien gleichzeitig umbenennt โ€“ anhand anschaulicher Beispiele.

  • ๏ธ os.rename(): os.rename(src, dst) benennt eine Datei oder ein Verzeichnis um; die Quelldatei muss existieren.
  • ๐Ÿ—‚๏ธ os.renames(): os.renames() erstellt auรŸerdem automatisch fehlende Zielordner.
  • ๐Ÿšš shutil.move(): shutil.move() benennt Dateien um und kann sie zwischen Dateisystemen verschieben.
  • ๐Ÿ pathlib: Path.rename() benennt Dateien auf objektorientierte Weise um (Python 3.4+).
  • ๐Ÿค– KI-Hilfe: KI-Tools wie Copilot generieren sofort Umbenennungs- und Stapelumbenennungscode.

Python Datei umbenennen os.rename()

Python file Rename

Python rename()-Datei ist eine Methode zum Umbenennen einer Datei oder eines Verzeichnisses in Python Programmierung. Die Python Die Dateimethode rename() kann durch รœbergeben von zwei Argumenten mit den Namen src (Quelle) und dst (Ziel) deklariert werden.

Syntax

Dies ist die Syntax fรผr die Methode os.rename()

os.rename(src, dst)

KenngrรถรŸen

Quelle: Quelle ist der Name der Datei oder des Verzeichnisses. Es sollte bereits vorhanden sein.

dst: Ziel ist der neue Name der Datei oder des Verzeichnisses, die Sie รคndern mรถchten.

Ejemplo:

import os  
os.rename('guru99.txt','career.guru99.txt')

Schauen wir uns das Beispiel im Detail an

Sie kรถnnen die Originaldatei umbenennen, wir haben den Dateinamen von โ€žGuru99.txtโ€ zu โ€œCareer.guru99.txtโ€.

Python file Rename

  • Um die Datei โ€žguru99.txtโ€œ umzubenennen, verwenden wir die โ€žUmbenennungsfunktionโ€œ im Betriebssystemmodul
  • Wenn der Code ausgefรผhrt wird, kรถnnen Sie also beobachten, dass auf der rechten Seite des Panels eine neue Datei โ€žcareer.guru99.txtโ€œ erstellt wird, die wir in unsere Originaldatei umbenannt haben.

Hier ist der vollstรคndige Code

import os
import shutil
from os import path

def main():
	# make a duplicate of an existing file
    if path.exists("guru99.txt"):
	# get the path to the file in the current directory
        src = path.realpath("guru99.txt");
		
	# rename the original file
        os.rename('guru99.txt','career.guru99.txt') 
		
if __name__ == "__main__":
    main()

Wie man ein Verzeichnis umbenennt in Python

Die Methode os.rename() benennt nicht nur Dateien, sondern auch Verzeichnisse um. รœbergeben Sie den aktuellen Ordnernamen als Quellnamen und den neuen Namen als Zielnamen.

import os
os.rename("old_directory", "new_directory")

Falls das Quellverzeichnis nicht existiert, Python lรถst einen FileNotFoundError aus, daher ist es ratsam, zuerst den Pfad zu รผberprรผfen.

Eine Datei mit os.renames() umbenennen

Die Methode os.renames() benennt eine Datei um und erstellt automatisch alle fehlenden Zwischenverzeichnisse im Zielpfad. AuรŸerdem entfernt sie leere Verzeichnisse, die im Quellpfad verblieben sind.

import os
os.renames("guru99.txt", "archive/2024/career.txt")

Hier werden die Ordner archive und 2024 automatisch erstellt, falls sie noch nicht existieren.

Eine Datei mit shutil.move() umbenennen

Die Funktion shutil.move() verschiebt eine Datei an einen neuen Speicherort, wodurch sie effektiv umbenannt wird, wenn das Zielverzeichnis dasselbe ist.

import shutil
shutil.move("guru99.txt", "career.guru99.txt")

Im Gegensatz zu os.rename() kann shutil.move() eine Datei auch รผber verschiedene Dateisysteme oder Laufwerke hinweg verschieben.

Umbenennen einer Datei mithilfe des pathlib-Moduls

In Python Ab Version 3.4 bietet das Modul pathlib eine objektorientierte Methode Path.rename() zum Umbenennen von Dateien.

from pathlib import Path

file = Path("guru99.txt")
file.rename("career.guru99.txt")

Die Methode rename() gibt ein neues Path-Objekt zurรผck, das auf die umbenannte Datei verweist.

So benennen Sie mehrere Dateien um Python

Um mehrere Dateien gleichzeitig umzubenennen, durchlaufen Sie die Dateien in einem Verzeichnis mit `os.listdir()` und rufen Sie fรผr jede Datei `os.rename()` auf. Das folgende Beispiel fรผgt jeder Datei ein nummeriertes Prรคfix hinzu.

import os

folder = "myfiles"
for count, filename in enumerate(os.listdir(folder)):
    new_name = f"file_{count}.txt"
    os.rename(os.path.join(folder, filename), os.path.join(folder, new_name))

Durch die Verwendung von os.path.join() wird sichergestellt, dass der Code auf jedem Betriebssystem korrekt funktioniert.

Hรคufig gestellte Fragen

Importieren Sie os und rufen Sie os.rename(src, dst) auf, wobei Sie den aktuellen Dateinamen und den neuen Namen รผbergeben. Die Quelldatei muss bereits existieren, oder Python lรถst FileNotFoundError aus.

os.rename() benennt eine einzelne Datei oder ein Verzeichnis um, wรคhrend os.renames() zusรคtzlich fehlende Zwischenverzeichnisse erstellt und leere Quellordner nach dem Verschieben entfernt.

Ja. shutil.move(src, dst) benennt eine Datei um, wenn das Ziel derselbe Ordner ist, und kann im Gegensatz zu os.rename() auch Dateien รผber verschiedene Dateisysteme hinweg verschieben.

Verwenden Sie os.rename('old_dir', 'new_dir'). Die Funktion os.rename() funktioniert sowohl fรผr Dateien als auch fรผr Verzeichnisse, sofern das Quellverzeichnis existiert.

Iteriere รผber `os.listdir(folder)` und rufe fรผr jede Datei `os.rename()` auf. Verwende `os.path.join()`, um vollstรคndige Pfade zu erstellen, damit der Code auf jedem Betriebssystem funktioniert.

KI-Assistenten wie GitHub Copilot vervollstรคndigen automatisch os.rename()- und pathlib-Aufrufe und generieren Batch-Umbenennungsschleifen aus einem Kommentar, der das gewรผnschte Namensmuster beschreibt.

Ja. KI-gestรผtzte Tools kรถnnen das Schreiben von Batch-Umbenennungsskripten automatisieren, Muster wie Nummerierung oder Datumsprรคfixe anwenden und eine Fehlerbehandlung fรผr fehlende oder doppelte Namen hinzufรผgen.

On Windowsos.rename() lรถst eine FileExistsError-Ausnahme aus, wenn das Zielverzeichnis bereits existiert. Unter Unix wird die Datei stillschweigend รผberschrieben. Um Datenverlust zu vermeiden, sollte man daher zuerst mit os.path.exists() prรผfen, ob das Zielverzeichnis bereits existiert.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: