Здравствуйте.
Делаю тренировочное задание.
Задача: Создать несколько файлов с некоторым содержимым. Но если такие файлы уже есть, старые файлы переименовать(по форме) и создать новые.
Вот сама операция переименовывания файлов:
from os import mkdir, chdir, getcwd, listdir, rename
from datetime import datetime as dt
from os.path import getctime
if len(listdir()) > 0:
for file in listdir():
if not 'old_' in file:
date = dt.fromtimestamp(getctime(file)).strftime('%Y-%m-%dT%H_%M') # <--- Дата создания файла для вставки в название файла
new_name = f"old_{file[:-4]}_{date}.txt" # <--- Текст для нового названия файла
try:
rename(file, new_name) # <--- Переименовывание файла тут
except FileExistsError:
print(file, '- Старый вариант этого файла уже существует.')
После этого идет код создания файлов.
Проблема в том, что этот скрипт работает
только один раз. Во второй раз всегда срабатывает исключение. Названия
старых переименованных файлов и
новые имена для новых файлов
НЕ совпадают. Содержимое
старых файлов и
новых тоже всегда
различно.
Почему не происходит переименования для новых созданных файлов?
P.s. Создание файлов происходит с помощью операции
with open("fileName.txt", "w", encoding="utf8") as data_file:
...