标签:文件名 字典 key mil 支持 elf 调用 mic 函数
import shelve list = [1, 2, 3] she = shelve.open(‘test.dat‘) she[‘d‘] = list she[‘d‘].append(‘f‘)print(she[‘d‘])
你会发现,打印后,没有‘f’ ,存储的f到哪里去了呢?其实很简单,d没有写回,你把[1,2,3]存到了d,当你再次读取she[‘d‘]的时候,she[‘d‘]只是一个拷贝,而你没有将拷贝写回,所以当你再次读取she[‘d‘]的时候,它又从源中读取了一个拷贝,所以,你新修改的内容并不会出现在拷贝中,解决的办法就是,第一个是利用一个缓存的变量,如下所示
import shelve list = [1, 2, 3] she = shelve.open(‘test.dat‘) she[‘d‘] = list temp = she[‘d‘] temp.append(‘f‘) she[‘d‘] = temp print(she[‘d‘])
这样返回的结果就有‘f’了。
不过在shelve模块中,key必须为字符串,而值可以是python所支持的数据类型。
标签:文件名 字典 key mil 支持 elf 调用 mic 函数
原文地址:http://www.cnblogs.com/caibao666/p/6531044.html