python shutil.copyfile:检索覆盖的副本

时间:2016-06-29 13:15:25

标签: python shutil

我使用shutil.copyfile意外覆盖了我的文件;有没有办法检索以前的副本? (我没有使用像git / time machine / etc这样的东西。) 谢谢!

2 个答案:

答案 0 :(得分:0)

shutil.copyfile需要源文件和目标文件。根据标准库文档,

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

  

如果src和dst指定了相同的文件,则引发SameFileError。

所以,它不应该被覆盖,你应该有2个文件。

答案 1 :(得分:0)

作为docs

  

shutil.copyfile(src,dst)

     

复制文件的内容(无元数据)   将src命名为名为dst的文件。 dst必须是完整的目标文件   名称;查看shutil.copy()以获取接受目标目录的副本   路径。如果src和dst是相同的文件,则引发Error。该   目的地位置必须是可写的;否则,出现IOError异常   将被提出。 如果dst已存在,则会被替换。特别   无法复制字符或块设备和管道等文件   有了这个功能。 src和dst是以字符串形式给出的路径名。

如果文件不相同,那么您在没有安全副本的情况下更换了文件。