2016-06-29 1 views
0

J'ai accidentellement écrasé mon fichier en utilisant shutil.copyfile; est-il possible de récupérer une copie précédente? (Je n'ai pas utilisé quelque chose comme git/time machine/etc.) merci!python shutil.copyfile: récupère une copie écrasée

+0

À moins que votre système de fichiers/système d'exploitation ne stocke une copie (temporaire) quelque part, non, il n'y en a probablement pas. – moooeeeep

Répondre

0

shutil.copyfile requiert un fichier source et un fichier de destination. Selon la documentation de la bibliothèque standard,

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

Si src et dst spécifient le même fichier, SameFileError est élevée.

Donc, il ne devrait pas être écrasé, vous devriez avoir 2 fichiers.

+0

non, ils n'étaient pas les mêmes. Un des fichiers était vide. –

+0

@yuliagrishina pour référence future, il sera plus utile d'être explicite sur la situation. Combien y a-t-il de fichiers, lesquels, selon vous, ont été écrasés, peut-être un fragment de code? Si vous avez écrit le fichier dst, vous n'avez pas de chance. J'étais sous l'hypothèse que c'était le fichier src qui vous préoccupait. – ivan7707

0

Comme le docs:

shutil.copyfile (src, dst)

Copiez le contenu (pas métadonnées) du fichier src nommé dans un fichier nommé dst. dst doit être le fichier cible complet name; regardez shutil.copy() pour une copie qui accepte un répertoire cible path. Si src et dst sont les mêmes fichiers, Error est déclenché. L'emplacement de destination doit être accessible en écriture; sinon, une exception IOError sera générée. Si dst existe déjà, il sera remplacé par. Les fichiers spéciaux tels que les périphériques de caractères ou de blocs et les tuyaux ne peuvent pas être copiés avec cette fonction. src et dst sont des noms de chemins donnés sous forme de chaînes.

Si les fichiers n'étaient pas identiques, vous les avez remplacés sans copie sécurisée.

+0

Merci. Je suppose qu'il n'y a aucun moyen de le récupérer alors. :( –