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

yipeiwu_com5年前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如何应用cx_Oracle获取oracle中的clob字段问题

最近在用Python编写连接数据库获取记录的脚本,其中用到了cx_Oracle模块。它的语法主要如下: cx_Oracle.connect('username','pwd','IP/...

浅析python中while循环和for循环

while循环 只要循环条件为True(以下例子为x > y),while循环就会一直 执行下去: u, v, x, y = 0, 0, 100, 30 ⇽...

Gauss-Seidel迭代算法的Python实现详解

import numpy as np import time 1.1 Gauss-Seidel迭代算法 def GaussSeidel_tensor_V2(A,b,Delta,...

解决pycharm remote deployment 配置的问题

解决pycharm remote deployment 配置的问题

(1)无法完整识别服务器端的环境变量 举例: a: shell下 b:win7下使用pycharm 结果发现对应的环境变量值缺失 如此会影响一些模块的正常加载(如cx_Oracle需...

python实现二分类的卡方分箱示例

解决的问题: 1、实现了二分类的卡方分箱; 2、实现了最大分组限定停止条件,和最小阈值限定停止条件; 问题,还不太清楚,后续补充。 1、自由度k,如何来确定,卡方阈值的自由度为 分箱数-...