#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import re
# Функция для переименования файлов в соответствии с заданными условиями
def rename_files(path):
# Получаем список файлов в указанной директории
files = os.listdir(path)
# Регулярное выражение для поиска соответствующих файлов
pattern = re.compile(r'(\d+)AM(\d+)(.*?)(?=lo)')
# Проходим по всем файлам в директории
for file in files:
# Проверяем, является ли текущий файл директорией
if os.path.isfile(os.path.join(path, file)):
# Применяем регулярное выражение к имени файла
new_name = re.sub(pattern, r'\1AM\2\3', file)
# Полный путь к старому файлу
old_path = os.path.join(path, file)
# Полный путь к новому файлу
new_path = os.path.join(path, new_name)
# Переименовываем файл
os.rename(old_path, new_path)
print(f'Renamed {old_path} to {new_path}')
# Вызываем функцию для переименования файлов в указанной директории
rename_files('/path/to/your/directory')
Образцы текста
В общем-то проблема в том как заменить "20" на пробелы и как это сделать в TC. Общий regex вроде такой, но как заменить "20" (или не захватывать их), я хз. Я понимаю, что можно сделать regex-replace, а потом уже заменить 20 на пробелы, но хотелось бы всё сделать одним шагом.