Files
kgpz_web/scripts/normalizefns.py
2025-01-18 13:46:42 +01:00

35 lines
1.3 KiB
Python

import os
import re
# Path to the directory containing the files
directory = "data_bilder/"
# Regex pattern to match filenames with segments separated by '-'
pattern = re.compile(r"([0-9]+[a-zA-Z]*|[a-zA-Z]*[0-9]*)-([0-9]+[a-zA-Z]*|[a-zA-Z]*[0-9]*)-([0-9]+[a-zA-Z]*|[a-zA-Z]*[0-9]*)\.jpg")
def normalize_segment(segment):
# Remove leading zeros from the numeric part of the segment
return re.sub(r'^0+(\d+)', r'\1', segment)
def normalize_filename(filename):
match = pattern.match(filename)
if not match:
return filename # Skip files that don't match the pattern
# Normalize each segment
normalized_segments = [normalize_segment(segment) for segment in match.groups()]
return "-".join(normalized_segments) + ".jpg"
def normalize_filenames_in_directory(directory):
for filename in os.listdir(directory):
if filename.endswith(".jpg"):
old_path = os.path.join(directory, filename)
normalized_name = normalize_filename(filename)
new_path = os.path.join(directory, normalized_name)
if old_path != new_path:
print(f"Renaming: {old_path} -> {new_path}")
os.rename(old_path, new_path)
# Normalize the filenames
normalize_filenames_in_directory(directory)