Python 如果在以只读模式读取文件时断电,则该文件';谁的数据会丢失?
如果在以只读模式读取文件时断电,该文件的数据会丢失吗 Python中的示例:Python 如果在以只读模式读取文件时断电,则该文件';谁的数据会丢失?,python,file,file-io,Python,File,File Io,如果在以只读模式读取文件时断电,该文件的数据会丢失吗 Python中的示例: >>> f = open("example.txt", "r") >>> first_line = f.readline() >>> second_line = f.readline() >>> # Here the machine executing the above code unexpectedly powers off. 如果在以只读
>>> f = open("example.txt", "r")
>>> first_line = f.readline()
>>> second_line = f.readline()
>>> # Here the machine executing the above code unexpectedly powers off.
如果在以只读模式读取文件时断电,该文件的数据会丢失吗
有人会认为,既然您以只读模式打开了文件,那么答案将是肯定的“否”。我想到了两种情况:
硬件故障
对于硬盘,磁头必须位于盘片上方才能读取文件。如果电源中断,这可能是导致磁盘彻底故障的最后一根稻草
访问时间
文件元数据。即使以只读方式打开文件,“上次访问日期”也可能需要更新,从而导致写入。这是否属实取决于:;考虑:
- 文件所在的文件系统是否支持上次访问时间
- 文件系统是否配置为使用它?(例如,Linux有一个
属性,这意味着访问时间不会更新)noatime
- 文件系统是只读的吗?(同样,Linux是一个很好的例子;您可以以只读方式挂载FS)
ext3
,例如,可以这样做。)请注意,一些具有日记账的FSs不包含日记账元数据。(它们只记录主文件数据。)(还要注意,有些是可配置的。)- 文件所在的文件系统是否支持上次访问时间
- 文件系统是否配置为使用它?(例如,Linux有一个
属性,这意味着访问时间不会更新)noatime
- 文件系统是只读的吗?(同样,Linux是一个很好的例子;您可以以只读方式挂载FS)
ext3
,例如,可以这样做。)请注意,一些具有日记账的FSs不包含日记账元数据。(它们只记录主文件数据。)(还要注意,有些是可配置的。)noatime
选项挂载分区。有关详细信息,请参阅mount
和fstab
手册页
但是,如果你使用的是现代汽车,真的没有必要太担心这个问题 您的文件数据应该是安全的,但是您应该知道,即使您只是在读取文件,即使分区是以只读方式装入的,某些文件系统也会修改文件元数据中的。但是,如果您担心有可能禁用该功能,那么在类Unix系统上,您可以使用noatime
选项挂载分区。有关详细信息,请参阅mount
和fstab
手册页
但是,如果你使用的是现代汽车,真的没有必要太担心这个问题