首页 > 编程语言 > 详细

python json、 pickle 、shelve 模块

时间:2019-05-16 15:03:28      阅读:111      评论:0      收藏:0      [点我收藏+]

json 模块

用于序列化的模块

  • json,用于字符串 和 python数据类型间进行转换

Json模块提供了四个功能:dumps、dump、loads、load

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

info = {"name":"wuzun", "age":28, "company":"北京...计算机科技有限公司"}

with open(info.txt,w, encoding=utf-8) as f:
     f.write(json.dumps(info))

with open(info.txt,r, encoding=utf-8) as f:
     # info = json.loads(f.read())
     info = json.load(f)
print(type info:, type(info))
print(info)
print(info["company"])

pickle 模块

用于序列化的模块

  • pickle,用于python特有的类型 和 python的数据类型间进行转换

pickle模块提供了四个功能:dumps、dump、loads、load

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import pickle

def func1():
    print(hello dage)

# info = {
#     ‘name‘:"wuzun",
#     ‘age‘:28,
#     ‘func‘: func1
# }
# with open(‘info.txt‘, ‘wb‘) as f:
#     f.write(pickle.dumps(info))

with open(info.txt,rb) as f:
     info = pickle.load(f)
 
print(type info:, type(info))
 
print(info)
info[func]()

 

shelve 模块

shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

mport shelve
 
d = shelve.open(shelve_test) #打开一个文件 
 
class Test(object):
    def __init__(self,n):
        self.n = n
 
 
t = Test(123)  
t2 = Test(123334)
 
name = ["alex","rain","test"] 
d["test"] = name #持久化列表
d["t1"] = t      #持久化类
d["t2"] = t2
 
d.close()

 

python json、 pickle 、shelve 模块

原文:https://www.cnblogs.com/song-weiwei/p/10875272.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!