四个进程将文本追加到同一文件



我有 4 个并行运行的 Python 脚本/进程,每个脚本/进程每 ~30 秒将文本附加到文件中:

while True:
    id = processing_job() # 30 seconds long
    with open('log.txt', 'a+') as f:
        f.write('Job number #%i done.' % id)

使用open(..., 'a+')时,两个进程想要同时写入,然后某些文本无法写入log.txt并丢失,是否存在风险?


注意:我使用的是 Windows 平台。

我做了一个快速测试,打开了同一个文件,它没有给我带来任何问题。

Python36已被使用。

像这样测试:

test1.py

with open("test","a+") as file_:
    file_.write("First process!n")
print("done!")

test2.py

with open("test","a+") as file_:
    file_.write("Second process!n")
print("done!")

python3 test1.py & python3 test2.py

输出符合预期。

First process! Second process!

在同一文件上运行了很多其他变体(第一个位字符串,同时第二个位字符串(,没有遇到任何错误

相关内容

  • 没有找到相关文章

最新更新