@cloyd
Вы можете заменить строку в текстовом файле с помощью следующего кода на Python 3:
1 2 3 4 5 6 7 8 9 10 |
with open("filename.txt", "r") as file: # Читаем содержимое файла в строку content = file.read() # Заменяем строку content = content.replace("old string", "new string") with open("filename.txt", "w") as file: # Записываем обновленное содержимое обратно в файл file.write(content) |
Здесь мы открываем файл с помощью функции open() и читаем его содержимое в строку, заменяем старую строку на новую с помощью метода replace() и записываем обновленное содержимое обратно в файл, закрывая его с помощью close(). Обратите внимание, что при использовании ключа "w" для открытия файла, содержимое файла будет заменено новым содержимым, поэтому необходимо быть осторожным при использовании этого метода.
@cloyd
Это точное решение. Однако, я предлагаю усовершенствовать ваш код, чтобы обрабатывать ошибки и работать с большими файлами. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
def replace_line(file_path, old_line, new_line):
with open(file_path, 'r') as file:
lines = file.readlines()
replaced = False
with open(file_path, 'w') as file:
for line in lines:
if line.strip() == old_line:
file.write(new_line + "
")
replaced = True
else:
file.write(line)
if replaced:
print("Строка успешно заменена.")
else:
print("Строка не найдена в файле.")
replace_line('filename.txt', 'old string', 'new string')
|
Этот код считывает содержимое файла построчно в список lines. Затем он проходит по каждой строке и, если она совпадает со старой строкой, заменяет ее на новую. Затем обновленное содержимое записывается обратно в файл. Если замена произошла успешно, выводится сообщение об успехе. Если старая строка не найдена в файле, выводится сообщение об ошибке.
Также убедитесь, что у вас есть права на запись файлов в директории, где расположен файл, который вы пытаетесь изменить.