Python-并行写入文件

时间:2014-01-25 22:30:24

标签: python json file

我需要将文本(行)从并行数量的服务器追加到.json文件中。这有效但有一些缺点(写入其他线的中心线)。有人知道该怎么办吗?谢谢

with open(sys.argv[2],'a') as w:

    w.writelines(json.dumps(record)+"\n")

1 个答案:

答案 0 :(得分:0)

您有几种选择:

  1. 以某种方式锁定文件。这是系统和文件系统的依赖,我不知道如何在Python中这样做,但我确信它是可能的。

  2. 使用其他一些同步机制。如果所有进程都在同一台机器上运行,则可以使用某些OS互斥对象。如果它们在不同的计算机上运行,​​您可能需要某种锁服务器。

  3. (最简单)让每个进程都写入自己的文件,并拥有一个合并所有文件的进程。