假设我有一组文件。如何确保写入所有这些文件是原子的。
我考虑过写入临时文件,只有在写入成功后,才对每个文件执行原子重命名。然而,一次重命名所有文件并不是原子的。如果我们想附加到这些文件,这也不会扩展到非常大的文件。
相反,我考虑过实施交易,但这本身就变成了一个项目。我意识到这几乎是关于实现一个迷你数据库。
你会如何在 Python 中做到这一点?
d = FileWriter.open(['file1', 'file2'], 'wb+')
d.write('add hello world to files')
d.close()
如果不成功,请确保 d.write 是原子的或至少回滚到原始文件。