Json是各程序通用的数据格式;pickle是Python特有的,可以存储很多Python特有的数据,如函数地址等
Json的简单使用:1 import Json 2 Jsondata={ 3 "user":dong", 4 namedongxiaodong 5 age":100 6 } 7 #字典(Json对象)转换为字符串 8 strjson=Json.dumps(Jsondata) 9 print(type(strjson)) 输出:<class 'str'>10 11 字符串转换为Json对象12 dicJson=Json.loads(strjson)13 print(dicJson["]) 输出:100Pickle
Pickle序列化:
pickle 2 3 def funx1(valuex): 4 print(--------------- 5 6 Jsondata= 7 8 9 ":10010 funx":funx1 保存函数地址,函数地址是以函数名确定的12 序列化,将字典转换为byte对象14 byteJson=pickle.dumps(Jsondata)15 print(type(byteJson)) 输出:<class 'bytes'>16 17 保存到文件中18 open(ww.txt",wb").write(byteJson)
Pickle反序列化:
pickle必须有序列化相同的函数名,只要函数名相同即可,参数任意 funx1(): **********)strjson=open(rb).read()字符串转换为Json对象dicJson=pickle.loads(strjson)输出:100dicJson["]() 调用函数,输出:**********Shelve(对pickle的上层封装)
序列化
shelve打开文件s=shelve.open(fileshelve)建立列表数据Listx=[112233]保存数据s[Listx"]=Listxs["]=s["关闭文件s.close()
反序列化:
print(s.get(")) 输出:['11','22','33']输出:dongxiaodong关闭文件s.close()加密与解密:
Base64 可逆
base64加密en=base64.b64encode(".encode(utf-8))print(en.decode(")) 输出字符串:ZG9uZ3hpYW9kb25n解密de=base64.b64decode(en).decode()print(de) 输出字符串:dongxiaodong
md5 不可逆
hashlib方法一mx=hashlib.md5() s生成md5对象mx.update(b") 添加内容,拼接内容mx.update(bdd 输出十六进制格式print(mx.hexdigest()) 输出:f67d530272ebb0cf17ec7cdf2372b6cb方法二mx2=hashlib.md5(bdongxiaodongdd) print(mx2.hexdigest()) 输出:f67d530272ebb0cf17ec7cdf2372b6cb
Sha1 不可逆
hashlibs=hashlib.sha1()s.update(bprint(s.hexdigest()) 输出:6a878a19687fc95d76f602d1580b54e0f0d2b88d
Hmac
键值对进行加密
hmac参数(键,值)h=hmac.new(b如果存在中文,则需要使用encode#h=hmac.new(b"dd","东小东dd".encode("utf-8"))print(h.hexdigest())总结
以上是内存溢出为你收集整理的Python档案袋( Json、pickle、加密与解密)全部内容,希望文章能够帮你解决Python档案袋( Json、pickle、加密与解密)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)