0
我需要從並行的服務器數量中追加文本(行)到.json文件。這工作但有一些缺點(寫行到其他行的中心)。有人知道如何處理它嗎?感謝Python並行寫入文件
with open(sys.argv[2],'a') as w:
w.writelines(json.dumps(record)+"\n")
我需要從並行的服務器數量中追加文本(行)到.json文件。這工作但有一些缺點(寫行到其他行的中心)。有人知道如何處理它嗎?感謝Python並行寫入文件
with open(sys.argv[2],'a') as w:
w.writelines(json.dumps(record)+"\n")
您有幾種選擇:
鎖定莫名其妙的文件。這是依賴於系統和文件系統的,我不確定如何在Python中執行此操作,但我相信這是可能的。
使用其他一些同步機制。如果所有進程都在同一臺機器上運行,則可以使用某個OS互斥對象。如果他們運行在不同的機器上,則可能需要某種鎖服務器。
(最簡單)讓每個進程寫入其自己的文件,並有一個合併所有文件的進程。
你可以在文件上使用鎖嗎? – dm03514