我有一个文件hash_db.pickle,当我创建它时,我在上面保存了一本字典:
v = {hash_value:{"file name":file_name,"file size":file_size,"last scanned time":scanned_time}}
{123dfre345:{"file name":calc.pdf,"file size":234,"last scanned time":12:23 24/12/2013}}
{3gcdshj754:{"file name":star.pdf,"file size":10,"last scanned time":10:30 10/10/2013}}
Run Code Online (Sandbox Code Playgroud)
last scanned time所以如果我只想从文件中更改3gcdshj754
我怎么能那样做呢?
使用pickle很简单,写的时候使用
dct = {'3gcdshj754': {'file name': 'star.pdf', 'last scanned time': '10:30 10/10/2014', 'file size': '10'}}
import pickle
pickle.dump(dct, open("save.p", "wb"))
Run Code Online (Sandbox Code Playgroud)
然后,在阅读时,使用
import pickle
dct_read = pickle.load(open("save.p", "rb"))
Run Code Online (Sandbox Code Playgroud)
b请注意,无论何时,您都必须以二进制模式( flag )打开文件。
编辑内容现在很简单:
dct_read.values()[0]["last scanned time"] = '10:10 10/10/2010'
Run Code Online (Sandbox Code Playgroud)
或者,正如 @mhawke 在他的回答中建议的那样,您可以使用shelve。