python 中的 os.rename 中断

Interruption of a os.rename in python

我在 python 中制作了一个脚本,重命名“.”中的所有文件和文件夹(不 递归)。目录:保存文件的目录。碰巧我 运行 目录中的脚本不包含任何文件,只有一个目录,假设 imp,路径为 .\imp。程序正在重命名时,停电了,工作中断了(抱歉没有 UPS)。

现在顾名思义,假设 imp 包含重要数据。重命名过程在断电之前也花费了相当长的时间(与其他过程相比),即使它只重命名一个文件夹。经过此努力后,是否有一些数据损坏、丢失或发生其他情况?

只要让它更有用:os.rename 会发生什么 被迫 在它工作时停止?文件和文件夹的效果有何不同?

详情

Python 版本 - 2.7.10

操作系统 - Windows 10 Pro

您正在使用 Windows,这意味着您(可能)使用 NTFS。 NTFS 是一种现代的 journaling 文件系统。它不应该 corruptlose 任何数据,尽管有可能只应用了构成重命名的某些更改(例如,文件名可能会更改而不会更新修改时间,或者 反之亦然 )。也可能应用了这些更改中的 none。

请注意 "should" 这个词与 "will." NTFS 不应该 以这种方式丢失数据,如果这样,就是一个错误.但是因为所有的软件都有bug,所以备份你关心的文件是很重要的。