3
我有一個Python腳本,每秒將內容添加到一個大文件中。我還需要第二個進程,偶爾打開這個大文件,然後讀取它。Python中的並行文件訪問
如何在Windows中執行此操作?在C++中,我可以簡單地用_SH_DENYNO打開一個文件,但Python中的等價物是什麼?
我有一個Python腳本,每秒將內容添加到一個大文件中。我還需要第二個進程,偶爾打開這個大文件,然後讀取它。Python中的並行文件訪問
如何在Windows中執行此操作?在C++中,我可以簡單地用_SH_DENYNO打開一個文件,但Python中的等價物是什麼?
您可以在'r + b'模式下打開文件。然後您將擁有一個可以由兩個不同進程訪問的文件對象。
這樣做需要進程之間進行一些通信(或仔細處理進程)以關於文件的當前狀態。
總的來說,這似乎是一個更好的方法,然後在操作系統/文件系統鎖定來創建重複的文件對象,這似乎是不可能結束的事情。
您也可以在每次訪問文件時簡單地讓文件進程打開/關閉文件,然後與讀取器進程一樣,假設這對您的程序是可行的。
看起來你正在使用該文件作爲IPC機制。如果可以的話,可能值得重新思考。 –