Автор оригинала: Chris.
Вызов : Учитывая программу Python, которая записывает данные в файл. Если вы снова запустите программу, она перезаписывает файл, написанный первым выполнением программы.
file = open("file.dat", "w") # ... Do some processing ... file.write("Result of program") file.close()
Каждый раз, когда вы запускаете эту программу, исходный контент в file.dat
будет перезаписан.
Как избежать этого перезаписи, добавив целочисленное суффикс к имени файла и увеличивая его каждый раз, когда вы перезагрузите программу?
What You Want: --- file_1.dat # Execution 1 --- file_2.dat # Execution 2 ... --- file_n.dat # Execution n
Решение : Os.Path.exist ()
Создайте переменную подсчет Я
и увеличивать его за один во время петли до тех пор, пока file_i.dat
существует – используя OS.Path.exist ()
Метод проверки существования. Покинув петлю, переменная I установлена на первое неиспользуемое целое число в именем имени файла. Теперь открыть file_i.dat
Напишите контент и закройте его. Ни один файл не будет перезаписан.
Вот полная программа:
import os # Determine incremented filename i = 0 while os.path.exists(f"file_{i}.dat"): i += 1 file = open(f"file_{i}.dat", "w") # ... Do some processing ... file.write("Result of program") file.close()
Программа выполняет следующие шаги:
- Определите идентификатор
Я
Перебирая все целые числа, увеличивайте их на одного в каждом Итерация петлей , пока вы не найдете первое целое число, которое еще не существует в файле имени файла. - Используйте
OS.Path.exist ()
Метод проверки, существует ли имя файла. - Используйте Формат строки
f "file_ {i} .dat"
создать именаfile_1.dat.
,file_2.dat
, …
После выполнения этой программы три раза вы получаете следующие три файла в той же папке Ваша программа находится:
What You Get: --- file_1.dat # Execution 1 --- file_2.dat # Execution 2 --- file_3.dat # Execution 3
Ресурсы : Как мне создать увеличение имени файла в Python?
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.
Оригинал: “https://blog.finxter.com/how-to-increment-a-filename-in-python/”