2016-06-29 4 views
0

Я случайно перезаписал свой файл с помощью файла shutil.copyfile; есть ли способ получить предыдущую копию? (Я не использовал ничего подобного git/time machine/etc.) спасибо!python shutil.copyfile: получить перезаписанную копию

+0

Если ваша файловая система/операционная система не хранит (temp) копию где-то, нет, возможно, нет. – moooeeeep

ответ

0

Для файла shutil.copy требуется исходное и предназначаемый файл. Согласно стандартной документации библиотеки,

https://docs.python.org/3.5/library/shutil.html

Если ЦСИ и ДСТ указать тот же файл, SameFileError поднят.

Поэтому его не следует перезаписывать, у вас должно быть 2 файла.

+0

нет, они были не то же самое. Один из файлов был пуст. –

+0

@yuliagrishina для дальнейшего использования будет более полезным, чтобы быть явным в ситуации. сколько файлов есть, какой, по вашему мнению, был перезаписан, возможно, фрагмент кода. Если вы указали dst-файл, вам не повезло. Я был в предположении, что это был файл src, о котором вы беспокоились. – ivan7707

0

Как docs:

shutil.copyfile (ЦСИ, ДСТ)

Скопируйте содержимое (без метаданных) из файла с именем ЦСИ в файл с именем целевой_адрес. dst должен быть полным целевым файлом имя; посмотрите на shutil.copy() для копии, которая принимает целевой каталог . Если src и dst - одни и те же файлы, возникает ошибка. Место назначения должно быть доступно для записи; в противном случае будет вызвано исключение IOError . Если dst уже существует, он будет заменен. Специальные файлы , такие как символьные или блочные устройства и трубы, не могут быть скопированы с помощью этой функции . src и dst - это имена путей, заданные как строки.

Если файлы не совпадают, вы заменили его без безопасной копии.

+0

Спасибо. Я предполагаю, что тогда нет способа получить его. :( –

 Смежные вопросы

  • Нет связанных вопросов^_^