Files
rename/rename.py
2025-01-27 20:06:00 +01:00

70 lines
2.4 KiB
Python
Executable File

#!/usr/bin/python3
import os
import re
import sys
def rename_file(filename):
#if not os.path.exists(filename):
if '.' in filename:
name, extension = filename.rsplit('.', 1)
else:
name = filename.split('.')[0]
extension = filename.split('.')[1]
#name, extension = filename.rsplit('.', 1) if '.' in filename else (name = filename.split('.')[0])
# ohne Endung
#print(temp+"."+filename.split('.')[1])
#os.rename(filename, temp+"."+filename.split('.')[1])
match1 = re.search(r'# (\d+)', name)
match2 = re.search(r'#(\d+)', name)
match3 = re.search(r'\((Folge) (\d+)\)', name)
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)
number = match1.group(1).zfill(2) # zfill(2) sorgt für zweistellige Zahlen
# Entferne das `#` und die Zahl aus dem Dateinamen
new_name = re.sub(r'# \d+', '', temp)
new_name = f"{number}-{new_name}"
# Entfernen der letzten Leerzeichen
new_name = new_name.rstrip() # LÖschen der abschliesssenden Leerzeichen
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)
number = match2.group(1).zfill(2) # zfill(2) sorgt für zweistellige Zahlen
# Entferne das `#` und die Zahl aus dem Dateinamen
new_name = re.sub(r'#(\d+)', '', temp)
new_name = f"{number}-{new_name}"
# Entfernen der letzten Leerzeichen
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:
print("Keine Nummer gefunden")
if " " in new_name:
new_name = new_name.replace(" ", "_")
if "," in new_name:
new_name = new_name.replace(",", "_")
os.rename(filename, new_name+"."+extension)
# Aufruf der Funktion (aktuelles Verzeichnis oder ein anderes)
#rename_files(".")
rename_file(sys.argv[1])
#rename_file("Hinreichendes Kriterium für lokale Extrema und Sattelpunkte für Funkt. m. zwei Variablen (Folge 189) (1080p_25fps_H264-128kbit_AAC).mp4")