python用pickle模块实现“增删改查”的简易功能

yipeiwu_com6年前Python基础

pickle的作用:

1:pickle.dump(dict,file)把字典转为二进制存入文件.

2:pickle.load(file)把文件二进制内容转为字典

import pickle

# 增 
def adds(): 
  users = {"name":"yangbin", "age":22, "sex":"male"} 
  with open("red.txt", "wb") as f: 
    pickle.dump(users, f)
  dic = {} 
  with open("red.txt") as sd: 
    dic = pickle.load(sd) 
  print dic

# 删 
def deletes():
  dic = {} 
  with open("red.txt") as f: 
    dic = pickle.load(f)
  dic.pop("sex")
  with open("red.txt", "wb") as ff: 
    pickle.dump(dic, ff) 
  print dic 

# 改 
def changes(): 
  dic = {}
  with open("red.txt") as f: 
    dic = pickle.load(f) 
  dic["age"] = 28 
  with open("red.txt", "wb") as f: 
    pickle.dump(dic, f) 
  print dic

# 查 
def finds(): 
  dic = {}
  with open("red.txt") as f: 
    dic = pickle.load(f) 
  for k,v in dic.items():
    print "%s ---> %s" % (k, v) 

adds() 
deletes() 
changes()
finds()

运行结果:

root@python3:/python/python2/linshi# python 01.py 
{'age': 22, 'name': 'yangbin', 'sex': 'male'}
{'age': 22, 'name': 'yangbin'}
{'age': 28, 'name': 'yangbin'}
age ---> 28
name ---> yangbin
root@python3:/python/python2/linshi#

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 实现数据库更新脚本的生成方法

我在工作的时候,在测试环境下使用的数据库跟生产环境的数据库不一致,当我们的测试环境下的数据库完成测试准备更新到生产环境上的数据库时候,需要准备更新脚本,真是一不小心没记下来就会忘了改了哪...

python代码制作configure文件示例

在lua中,一直用lua作为config文件,或承载数据的文件 - 好处是lua本身就很好阅读,然后无需额外写解析的代码,还支持在configure文件中读环境变量,条件判断等。 在lu...

Python实现的对一个数进行因式分解操作示例

本文实例讲述了Python实现的对一个数进行因式分解操作。分享给大家供大家参考,具体如下: 在数学中,我们可能会对一个数进行因式分解,如何用Python来实现呢?以下是某位大佬写的算法,...

让代码变得更易维护的7个Python库

随着软件项目进入“维护模式”,对可读性和编码标准的要求很容易落空(甚至从一开始就没有建立过那些标准)。然而,在代码库中保持一致的代码风格和测试标准能够显著减轻维护的压力,也能确保新的开发...

Python3 chardet模块查看编码格式的例子

Python3 chardet模块查看编码格式的例子

如下所示: 需要注意的是,如果遇到GBK2312等编码的,在decode和encode时,一律使用GBK进行编码或者解码,这是因为GBK是其他GBK编码的超集,向下兼容所有的GBK编码...