Я случайно перезаписал свой файл с помощью файла shutil.copyfile; есть ли способ получить предыдущую копию? (Я не использовал ничего подобного git/time machine/etc.) спасибо!python shutil.copyfile: получить перезаписанную копию
ответ
Для файла shutil.copy требуется исходное и предназначаемый файл. Согласно стандартной документации библиотеки,
https://docs.python.org/3.5/library/shutil.html
Если ЦСИ и ДСТ указать тот же файл, SameFileError поднят.
Поэтому его не следует перезаписывать, у вас должно быть 2 файла.
нет, они были не то же самое. Один из файлов был пуст. –
@yuliagrishina для дальнейшего использования будет более полезным, чтобы быть явным в ситуации. сколько файлов есть, какой, по вашему мнению, был перезаписан, возможно, фрагмент кода. Если вы указали dst-файл, вам не повезло. Я был в предположении, что это был файл src, о котором вы беспокоились. – ivan7707
Как docs:
shutil.copyfile (ЦСИ, ДСТ)
Скопируйте содержимое (без метаданных) из файла с именем ЦСИ в файл с именем целевой_адрес. dst должен быть полным целевым файлом имя; посмотрите на shutil.copy() для копии, которая принимает целевой каталог . Если src и dst - одни и те же файлы, возникает ошибка. Место назначения должно быть доступно для записи; в противном случае будет вызвано исключение IOError . Если dst уже существует, он будет заменен. Специальные файлы , такие как символьные или блочные устройства и трубы, не могут быть скопированы с помощью этой функции . src и dst - это имена путей, заданные как строки.
Если файлы не совпадают, вы заменили его без безопасной копии.
Спасибо. Я предполагаю, что тогда нет способа получить его. :( –
Если ваша файловая система/операционная система не хранит (temp) копию где-то, нет, возможно, нет. – moooeeeep