5.1 json
JS对象var teacher_1 = { name: ‘juhao’, age: 18, feature : [‘高’, ‘富’, ‘帅’] }JSON字符串
{ “name”: “juhao”, “age”: 18, “ feature “ : [‘高’, ‘富’, ‘帅’] ? }Python字典
{ ‘name’: ‘juhao’, ‘age’: 18 ‘feature’ : [‘高’, ‘富’, ‘帅’] ? }注意
1.字符串必须用双引号(即:””)来包括 ? 2.值可以是字符串、数字、true、false、null、列表,或字典。
1.将python数据转化为json:
json.dumps(obj) Indent实现缩进(一般是4), json.dumps(obj,indent = 4) ensure_ascii 是否用ascii解析 ensure_ascii = False
2.将json数据转换为python的数据:
2.json.loads(s)
3.转换为json并保存到文件中
3.json.dump(obj, fp)
4.从文件中读取json,并转化为python数据
4.json.load(fp)
with open (‘json_test‘,‘w+‘)as f: json.dump(obj,indent = 4,ensure_ascii = False,fp=f)
with open (‘json_test‘,‘r+‘)as f: res = json.load(fp=f) print res
5.2 hashlib,base64模块
1.hashlib (MD5)hash算法就是-种将任意长度的数据变成一个长度固定的数据的函数
1.对称加密:
数据加密解密使用相同的密钥
2.非对称加密:
加密和解密用两把不同的密钥, 公钥用于加密数据,私钥用于解密数据
3.单向加密:
只能加密数据,而不能解密数据
2.Hash结构:不可逆:无法根据散列值来还原原来的数据 ? 定长输出:无论输入的原始数据有多长,结果长度是相同的 ? 抗修改性:输入的微小改变,哪怕只有一个字符,会引起结果的巨大改变 ? 强碰撞性:很难找到两段内容不同的数据,使他们产生的hash值一致,几乎不可能Hashlib模块提供了许多hash算法,主要有:
1.md5 2.SHA系列:sha1, sha224, sha256, sha384, sha512api 描述:
hashlib.new(name, data=b”) 生成一个hash对象 hashlib.hash算法名(data=b”) 生成一个使用该算法的hash对象 Hash对象.update(arg=None) 更新hash对象 Hash对象.digest() 返回Hash算法计算得到的值(bytes类型) ? Hash对象.hexdigest() 返回Hash算法计算得到的值(str类型)
? import hashlib result = hashlib.new(‘md5‘,‘南北‘.encode()) result = hashlib.md5(‘南北‘.encode()) print(result.digest()) print(result.hexdigest()) result = hashlib.md5() result.update(‘南北‘.encode()) print(result.digest()) print(result.hexdigest()) ?3.base64
base64是一种用64个字符来表示任意二 进制数据的方法, (将二 进制数据编码成ASCII字符)使用了A-Z,a-z,0-9,+ ,/这64个字符
特点:用来将非ASCII字符的数据转换成ASCII字符的一种方法 ? 常用于对URL的编码 ? 可以将不可打印的二进制数据转化为可打印的字符串
api 描述:
base64.b64encode(s) 对二进制数据进行base64编码 base64.b64decode(s) 对通过base64编码的数据进行解码 ? base64.urlsafe_b64encode(s) 对URL进行base64编码 base64.urlsafe_b64decode(s) 解码
import base64 ? data = ‘爱我‘ res = base64.b64encode(data.encode)
? import json import base64 data={ ‘name‘:‘nanbei‘, ‘age‘:10, ‘feature‘:["gao","fu","shuai"] } with open(‘my_json,txt‘,‘w‘)as f: json.dump(data,f,ensure_ascii=False) with open(‘my_json,txt‘,‘r‘)as f: result=json.load(f) print(type(result)) print(result[‘feature‘][2]) with open(‘my_json,txt‘,‘rb‘)as f: result=base64.b64encode(f.read()) with open(‘my_json,txt‘,‘wb‘)as f: f.write(result) with open(‘my_json,txt‘,‘rb‘)as f: print(base64.b64decode(f.read()).decode()) ? ?
查看更多关于Python数据库 5.json,hashlib,base64模块的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did170444