drittes regex

This commit is contained in:
Sven Riwoldt
2025-01-26 20:05:43 +01:00
parent 071a9706f6
commit 48e8e3e415
2 changed files with 22 additions and 45 deletions

View File

@@ -3,42 +3,16 @@ import os
import re import re
import sys import sys
def rename_files(directory):
# Wechsel in das Zielverzeichnis
os.chdir(directory)
# Iteriere über alle Dateien im Verzeichnis
for file in os.listdir("."):
# Prüfe, ob es sich um eine Datei handelt
if os.path.isfile(file):
# Finde den `_#__35`-Teil im Dateinamen
match = re.search(r'_#_\d+', file)
if match:
# Entferne das `#` und extrahiere den modifizierten Ausdruck
prefix = match.group(0).replace('#', '')
# Entferne den `_#__35`-Teil aus dem Dateinamen
new_name = re.sub(r'_#_\d+', '', file)
# Füge den modifizierten Ausdruck an den Anfang des Dateinamens
new_name = prefix + new_name
# Benenne die Datei um
os.rename(file, new_name)
print(f"Umbenannt: '{file}' -> '{new_name}'")
def rename_file(filename): def rename_file(filename):
name = filename.split('.')[0] # ohne Endung name = filename.split('.')[0] # ohne Endung
temp = re.sub(r'\(.*?\)', '', name) # Alles was mit Beginne ( bis einschliesslioch ) löschen
#print(temp+"."+filename.split('.')[1]) #print(temp+"."+filename.split('.')[1])
#os.rename(filename, temp+"."+filename.split('.')[1]) #os.rename(filename, temp+"."+filename.split('.')[1])
match1 = re.search(r'# (\d+)', temp) match1 = re.search(r'# (\d+)', name)
match2= re.search(r'#(\d+)', temp) match2 = re.search(r'#(\d+)', name)
match3 = re.search(r'\((Folge) (\d+)\)', name)
if match1: if match1:
temp = re.sub(r'\(.*?\)', '', name) # Alles was mit Beginne ( bis einschliesslioch ) löschen
# Extrahiere die Zahl und formatiere sie als 2-stellig (z. B. 05, 22) # Extrahiere die Zahl und formatiere sie als 2-stellig (z. B. 05, 22)
number = match1.group(1).zfill(2) # zfill(2) sorgt für zweistellige Zahlen number = match1.group(1).zfill(2) # zfill(2) sorgt für zweistellige Zahlen
@@ -48,6 +22,7 @@ def rename_file(filename):
# Entfernen der letzten Leerzeichen # Entfernen der letzten Leerzeichen
new_name = new_name.rstrip() # LÖschen der abschliesssenden Leerzeichen new_name = new_name.rstrip() # LÖschen der abschliesssenden Leerzeichen
elif match2: elif match2:
temp = re.sub(r'\(.*?\)', '', name) # Alles was mit Beginne ( bis einschliesslioch ) löschen
# Extrahiere die Zahl und formatiere sie als 2-stellig (z. B. 05, 22) # Extrahiere die Zahl und formatiere sie als 2-stellig (z. B. 05, 22)
number = match2.group(1).zfill(2) # zfill(2) sorgt für zweistellige Zahlen number = match2.group(1).zfill(2) # zfill(2) sorgt für zweistellige Zahlen
@@ -56,7 +31,11 @@ def rename_file(filename):
new_name = f"{number}-{new_name}" new_name = f"{number}-{new_name}"
# Entfernen der letzten Leerzeichen # Entfernen der letzten Leerzeichen
new_name = new_name.rstrip() new_name = new_name.rstrip()
elif match3:
number = match3.group(2).zfill(2)
temp = re.sub(r'\(.*?\)', '', name) # Alles was mit Beginne ( bis einschliesslioch ) löschen
new_name = f"{number}-{temp}"
new_name = new_name.rstrip()
else: else:
print("Keine Nummer gefunden") print("Keine Nummer gefunden")
@@ -81,3 +60,4 @@ def rename_file(filename):
#rename_files(".") #rename_files(".")
rename_file(sys.argv[1]) rename_file(sys.argv[1])
#rename_file("öaödksöakökqö (Folge 1) (dasdasdas).mp4")

View File

@@ -15,17 +15,15 @@ def rename_files(directory):
rename_file(file) rename_file(file)
def rename_file(filename): def rename_file(filename):
name = filename.split('.')[0] name = filename.split('.')[0] # ohne Endung
print (name) # ohne Endung
new_name = ""
temp = re.sub(r'\(.*?\)', '', name) # Alles was mit Beginne ( bis einschliesslioch ) löschen
#print(temp+"."+filename.split('.')[1]) #print(temp+"."+filename.split('.')[1])
#os.rename(filename, temp+"."+filename.split('.')[1]) #os.rename(filename, temp+"."+filename.split('.')[1])
match1 = re.search(r'# (\d+)', temp) match1 = re.search(r'# (\d+)', name)
match2= re.search(r'#(\d+)', temp) match2 = re.search(r'#(\d+)', name)
match3 = re.search(r'\((Folge) (\d+)\)', name)
if match1: if match1:
temp = re.sub(r'\(.*?\)', '', name) # Alles was mit Beginne ( bis einschliesslioch ) löschen
# Extrahiere die Zahl und formatiere sie als 2-stellig (z. B. 05, 22) # Extrahiere die Zahl und formatiere sie als 2-stellig (z. B. 05, 22)
number = match1.group(1).zfill(2) # zfill(2) sorgt für zweistellige Zahlen number = match1.group(1).zfill(2) # zfill(2) sorgt für zweistellige Zahlen
@@ -35,6 +33,7 @@ def rename_file(filename):
# Entfernen der letzten Leerzeichen # Entfernen der letzten Leerzeichen
new_name = new_name.rstrip() # LÖschen der abschliesssenden Leerzeichen new_name = new_name.rstrip() # LÖschen der abschliesssenden Leerzeichen
elif match2: elif match2:
temp = re.sub(r'\(.*?\)', '', name) # Alles was mit Beginne ( bis einschliesslioch ) löschen
# Extrahiere die Zahl und formatiere sie als 2-stellig (z. B. 05, 22) # Extrahiere die Zahl und formatiere sie als 2-stellig (z. B. 05, 22)
number = match2.group(1).zfill(2) # zfill(2) sorgt für zweistellige Zahlen number = match2.group(1).zfill(2) # zfill(2) sorgt für zweistellige Zahlen
@@ -43,7 +42,11 @@ def rename_file(filename):
new_name = f"{number}-{new_name}" new_name = f"{number}-{new_name}"
# Entfernen der letzten Leerzeichen # Entfernen der letzten Leerzeichen
new_name = new_name.rstrip() new_name = new_name.rstrip()
elif match3:
number = match3.group(2).zfill(2)
temp = re.sub(r'\(.*?\)', '', name) # Alles was mit Beginne ( bis einschliesslioch ) löschen
new_name = f"{number}-{temp}"
new_name = new_name.rstrip()
else: else:
print("Keine Nummer gefunden") print("Keine Nummer gefunden")
@@ -58,12 +61,6 @@ def rename_file(filename):
os.rename(filename, new_name+"."+filename.split('.')[1]) os.rename(filename, new_name+"."+filename.split('.')[1])
# Aufruf der Funktion (aktuelles Verzeichnis oder ein anderes) # Aufruf der Funktion (aktuelles Verzeichnis oder ein anderes)
#rename_files(".") #rename_files(".")