Обновление файла с использованием Python - PullRequest
1 голос
/ 23 марта 2019

Я знаю нормальный способ записи в файл путем переписывания строк, кроме тех, которые нужно удалить.Но я хочу знать, существует ли эффективный способ удаления или обновления строки на месте или добавления последней в файл с помощью файловых указателей в Python.

1 Ответ

0 голосов
/ 23 марта 2019

Присоединиться к концу легко:

with open('somefile', 'a') as f:
    f.write(line)  # Or with print to add a newline for you, print(line, file=f)

В середине вы, как правило, застряли;если длина новой строки не будет точно такой же, как у существующей, вам придется переместить все данные после этой строки, чтобы она заработала, и это может привести к повреждению данных, если что-нибудь (включая проблемы, не связанные с программным обеспечением, такие как перебои в подаче электроэнергии).В этом случае просто напишите новый файл и используйте os.replace, чтобы атомарно заменить старый файл новым файлом после , когда новый файл полностью записан.

...