как переименовать файл и сохранить оригинал - PullRequest
0 голосов
/ 22 ноября 2018

Я бы хотел оставить неизменным файл template.txt после того, как вставил в него какой-нибудь текст и сохранил измененный текстовый файл под новым именем.В настоящее время мой код перезаписывает template.txt.

f = open("template.txt", "r")
contents = f.readlines()
f.close()
#insert the new text at line = 2
contents.insert(2, "This is a custom inserted line \n")
#open the file again and write the contents
f = open("template.txt", "w")
contents = "".join(contents)
f.write(contents)
f.close()
os.rename('template.txt', 'new_file.txt')

1 Ответ

0 голосов
/ 22 ноября 2018

Как уже упоминалось, вы захотите скопировать содержимое template.txt в новый файл, а затем отредактировать этот новый файл.Это позволяет сохранить исходный файл без изменений, и вам не нужно беспокоиться о переименовании файлов в конце.Еще один совет: синтаксис with open(file) as f избавляет вас от необходимости не закрывать файлы при их редактировании и является рекомендуемым способом работы с файлами в python

with open("template.txt") as f:
    lines = f.readlines()
    with open("new_file.txt", "w+") as n:
        lines.insert(2, "This is a custom inserted line \n")
        n.writelines(lines)
...