Joopi
[Python-Schnipsel] Unerwünschte Endung in Ordnernamen entfernen - Druckversion

+- Joopi (https://forum.hermann-splitthoff.de)
+-- Forum: Wissenswertes (https://forum.hermann-splitthoff.de/forumdisplay.php?fid=1)
+--- Forum: Programmieren (https://forum.hermann-splitthoff.de/forumdisplay.php?fid=6)
+--- Thema: [Python-Schnipsel] Unerwünschte Endung in Ordnernamen entfernen (/showthread.php?tid=208)



Unerwünschte Endung in Ordnernamen entfernen - Joopi - 22-01-2023

Dann und wann schleichen sich bei der Arbeit mit vielen Bildern in vielen Ordner leider Ordernamen ein, die nicht erwünscht sind. Diese sollen entfernt werden. Die unerwünschten Endungen stehen dabei in einer Liste, die dann je Ordner abzuarbeiten ist.

Code:
trash_endung = [".jpg", "_001.jpg", "_002.jpg", "(1).jpg", "(1).jpeg", "_1_.jpg", "_2_.jpg", "_1.jpg", ".jpeg", "yenc", "yEnc", ".par2", ".zip", ".rar"]

for bildordner in pathlib.Path(rename_ordner).iterdir():
    if bildordner.is_dir():
        basename = os.path.basename(bildordner)
        for endung in trash_endung:
            basename = basename.replace(endung, "")

Eine andere Möglichkeit wäre, die str.endswith() Methode zu verwenden, um zu überprüfen, ob der Name des Ordners mit einer unerwünschten Endung endet, und dann die entsprechende Endung zu entfernen.

Code:
trash_endung = [".jpg", "_001.jpg", "_002.jpg", "(1).jpg", "(1).jpeg", "_1_.jpg", "_2_.jpg", "_1.jpg", ".jpeg", "yenc", "yEnc", ".par2", ".zip", ".rar"]

for bildordner in pathlib.Path(rename_ordner).iterdir():
    if bildordner.is_dir():
        basename = os.path.basename(bildordner)
        for endung in trash_endung:
            print(endung)
            if basename.endswith(endung):
                basename1 = basename[:-len(endung)]
                os.rename(f"{rename_ordner}/{basename}", f"{rename_ordner}/{basename1}")
                break