我使用shutil.copyfile意外覆盖了我的文件;有没有办法检索以前的副本? (我没有使用像git / time machine / etc这样的东西。) 谢谢!
答案 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是以字符串形式给出的路径名。
如果文件不相同,那么您在没有安全副本的情况下更换了文件。