2015-08-28 42 views
0

該文件可能會被Python同時讀取和寫入。有沒有更簡單的方法,而不是使用鎖定?簡單的方法來鎖定和解鎖python

class datamanager: 
    def __init__(self, filename = 'filelock'): 
    .... 

    def write(self, data, isInit = False): 
    .... 

    def read(self): 
    .... 

回答

0

看看this

此外,由於讀取方法不會修改文件,所以只需在寫入方法中使用鎖定。

+0

如何讀取正在修改的文件?是否會導致問題? –

+0

沒有。如果文件當前正在寫入,則寫入方法的鎖定將阻止任何讀取器獲取文件。鎖定釋放後,讀者可以訪問修改後的文件。 https://en.wikipedia.org/wiki/Readers%E2%80%93writer_lock –