假设我有一组文件。 如何确保对所有这些文件的写入是原子的。
我考虑过先写入临时文件,只有在写入成功后才对每个文件执行原子重命名。 但是,同时重命名所有文件并不是原子操作。 如果我们想要追加到这些文件中,则此方法也无法扩展到非常大的文件。
相反,我考虑实现事务,但这将成为一个单独的项目。 我意识到这基本上是关于实现小型数据库。
您会如何在Python中实现它?
确保d.write是原子性的,或者如果不成功,则回滚到原始文件。
我考虑过先写入临时文件,只有在写入成功后才对每个文件执行原子重命名。 但是,同时重命名所有文件并不是原子操作。 如果我们想要追加到这些文件中,则此方法也无法扩展到非常大的文件。
相反,我考虑实现事务,但这将成为一个单独的项目。 我意识到这基本上是关于实现小型数据库。
您会如何在Python中实现它?
d = FileWriter.open(['file1', 'file2'], 'wb+')
d.write('add hello world to files')
d.close()
确保d.write是原子性的,或者如果不成功,则回滚到原始文件。