我正在开发一个可以通过网络访问的 python 脚本,因此会有多个用户同时尝试附加到同一个文件。我担心这可能会导致竞争条件,如果多个用户同时写入同一个文件,它可能会损坏文件。
例如:
#!/usr/bin/env python
g = open("/somepath/somefile.txt", "a")
new_entry = "foobar"
g.write(new_entry)
g.close
我是否必须为此使用锁定文件,因为此操作看起来有风险。
原文由 Ray Y 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 文件锁定:
请注意,在某些系统上,如果您只写小缓冲区,则 不需要 锁定,因为 这些系统上的追加是原子的。