中断对文件的写入(使用Python)安全吗?

中断对文件的写入(使用Python)安全吗?

中断写入文件是否存在任何风险?无论是在写入过程中关闭 GUI 程序,还是键盘中断,等等。我主要担心的是它可能会损坏我的驱动器中的一些其他不相关的数据。我想确保它的安全,因为它是我正在处理的重要数据。另外,风险(如果有)是否会因操作系统而异?

答案1

除非“中断”包括断电或系统崩溃,否则中断程序不会损坏任何未打开写入的文件。

请注意,其他程序中期望从您杀死的程序中获得有用数据的编码错误可能最终会丢失或损坏其他文件 - 例如,如果您有一个 shell 脚本运行 python 脚本以获取要删除的目录的名称,但没有在执行删除之前不必费心检查 python 脚本的退出代码(或返回的目录名称的有效性),它可能会删除您不希望删除的目录。例如dir=$(my-python-program); rm -rf "./$dir"可以删除当前目录下的所有内容,因为分配和删除之间没有错误检查。但这是由草率和懒惰的编程引起的问题,而不是由中断/终止程序引起的。


顺便说一句,如果您的数据很重要并且您不能冒丢失它的风险处理数据副本和/或在进行任何操作之前先备份数据。这样,如果出现问题,您将始终拥有原始数据来制作另一个工作副本。 绝不处理数据的原始或唯一副本。

就我个人而言,即使对于相当不重要的数据,我也倾向于这样做 - 如果我搞砸了,我可以恢复到原始数据并制作另一个副本来使用。

相关内容