Python - перезаписать содержимое существующего файла без создания нового файла - PullRequest
0 голосов
/ 11 февраля 2019

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

Когда файл не существует, я создаю его и добавляю данные, используя -

with open(path/to/myfile + '.json', 'w') as outfile:
    json.dump(mydata, outfile)

Теперь есть немного newdata, которое должно быть записано вместо mydata внутри myfile.

Если я правильно понял из некоторых ответов, использование -

with open(path/to/myfile + '.json', 'w') as outfile:
    json.dump(newdata, outfile)

удаляет myfile и создает новый с newdata в качестве его содержимого.Пожалуйста, исправьте меня здесь, если мое понимание неверно.

Я хочу не удалять файл, а просто перезаписать содержимое файла (потому что мне нужно сравнить время последнего изменения этого файла в другом приложении).).Как я могу это сделать?

РЕДАКТИРОВАТЬ: Дублированная ссылка дает ответы, как добавить в существующий файл.Моя цель - полностью перезаписать содержимое файла.

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Будет ли оно удалено или нет, измененное время изменится.Однако я не верю, что открытие с помощью "w" удаляет файл, оно открывает его с указателем файла в начале, готовым для записи данных.

0 голосов
/ 11 февраля 2019

Время файла будет временем вызова json.dump, независимо от того, новый это файл или нет.Если ваше другое приложение отслеживает mtime, этого должно быть достаточно, чтобы решить, изменился ли файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...