2013-12-23 44 views
3

我有一個Python腳本,每秒將內容添加到一個大文件中。我還需要第二個進程,偶爾打開這個大文件,然後讀取它。Python中的並行文件訪問

如何在Windows中執行此操作?在C++中,我可以簡單地用_SH_DENYNO打開一個文件,但Python中的等價物是什麼?

+2

看起來你正在使用該文件作爲IPC機制。如果可以的話,可能值得重新思考。 –

回答

0

您可以在'r + b'模式下打開文件。然後您將擁有一個可以由兩個不同進程訪問的文件對象。

這樣做需要進程之間進行一些通信(或仔細處理進程)以關於文件的當前狀態。

總的來說,這似乎是一個更好的方法,然後在操作系統/文件系統鎖定來創建重複的文件對象,這似乎是不可能結束的事情。

您也可以在每次訪問文件時簡單地讓文件進程打開/關閉文件,然後與讀取器進程一樣,假設這對您的程序是可行的。