Как в файл txt записать данные в определённую строку

Как записать данные в определённую строку файла?

Файл Hello.txt:

Приве
Друг

Как добавить букву т в первую строку?

f = open("Hello.txt", "a")
f.write("т")
f.close()

Ведь аргумент a добавляет элементы в конец последней строки.


Ответы (2 шт):

Автор решения: Эникейщик

Открыть файл, считать его в память, произвести необходимые манипуляции с текстом, сохранить полученный текст в файл.

Просто добавить что-то куда-то в середину файла нельзя, потому что весь текст после этого места должен быть сдвинут, и сам по себе он не сдвинется. Представьте файл как длинную полку с книгами. Можно легко добавить еще одну книгу в самом конце (это делает а), но нельзя просто так вставить книгу в середине, потому что там нет места.

→ Ссылка
Автор решения: nomnoms12

Нельзя добавить данные в произвольное место файла. Но Вы можете прочитать содержимое, изменить его и записать заново.

Пример:

with open('Hello.txt', 'r+') as f:
    lines = f.readlines()
    lines[0] = lines[0].rstrip() + 'т\n'

    f.seek(0)
    f.writelines(lines)
→ Ссылка