我需要将文本(行)从并行数量的服务器追加到.json文件中。这有效但有一些缺点(写入其他线的中心线)。有人知道该怎么办吗?谢谢
with open(sys.argv[2],'a') as w:
w.writelines(json.dumps(record)+"\n")
答案 0 :(得分:0)
您有几种选择:
以某种方式锁定文件。这是系统和文件系统的依赖,我不知道如何在Python中这样做,但我确信它是可能的。
使用其他一些同步机制。如果所有进程都在同一台机器上运行,则可以使用某些OS互斥对象。如果它们在不同的计算机上运行,您可能需要某种锁服务器。
(最简单)让每个进程都写入自己的文件,并拥有一个合并所有文件的进程。