python json、 pickle 、shelve 模塊

json 模塊

用於序列化的模塊python

  • json,用於字符串 和 python數據類型間進行轉換

Json模塊提供了四個功能:dumps、dump、loads、loadjson

#!/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 模塊

用於序列化的模塊spa

  • pickle,用於python特有的類型 和 python的數據類型間進行轉換

pickle模塊提供了四個功能:dumps、dump、loads、loadcode

#!/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數據格式blog

#!/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()
相關文章
相關標籤/搜索