模块使用(md5加密、StringIO、JSON)

md5加密

        在python3的标准库中,已经移除了md5,而关于hash加密算法都放在hashlib这个标准库中,如SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法等

在英语中hex有十六进制的意思,hexdigest()因此该方法是将hash中的数据转换成数据,其中只包含十六进制的数字
使用encode 防止对中文加密时出现乱码
方式一:对123456ling加密
import hashlib
m3 = hashlib.md5()
src = bytes("123456ling", encoding="utf-8")
m3.update(src)
print(m3.hexdigest())

方式二:123456 这个是随机数,通过加密后,再对ling加密,防止被破解
import hashlib
m3 = hashlib.md5("123456".encode("utf-8"))
src = bytes("ling", encoding="utf-8")
m3.update(src)
print(m3.hexdigest())

方式三:
模块使用(md5加密、StringIO、JSON)

StringIO使用

作用:经常对文件进行IO的读写,现将放入内存中,提高性能
StringIO经常被用来作字符串的缓存,因为StringIO的一些接口和文件操作是一致的,也就是说同样的代码,可以同时当成文件操作或者StringIO操作

from io import StringIO, BytesIO

stringIO = StringIO()
stringIO.write("hello world\n") #写入内存中
stringIO.write("lalalalla, wo shi mai bao de xiao hang jia")
print(stringIO.getvalue()) #查看值
stringIO.truncate(0) #截断清空
print(stringIO.getvalue())

JSON

        json模块提供了一种很简单的方式来编码和解码json格式的数据,其中两个主要的函数是json.dumps()和json.loads(),当然与之对应的还要json.dump()和json.load()函数

方法:

loads 把字符串-》python对象
dumps 把python对象-》 字符串
load 把文件-》 python对象
dump 把python对象 写入文件

方法一:json.dumps()

将一个Python数据结构转化为json:

import json
data ={
   'name': 'thinkgamer',
   'age': 23,
   'sex': 'men'
}
print(json.dumps(data))
print(type(json.dumps(data)))  
print(type(data))

结果:
{"name": "thinkgamer", "age": 23, "sex": "men"}
<class 'str'>
<class 'dict'>

方法二:json.loads()

import json
data ={
   'name': 'thinkgamer',
   'age': 23,
   'sex': 'men'
}
str_tmp=(json.dumps(data))
print(json.loads(str_tmp))
print(type(json.loads(str_tmp)))

结果:
{'name': 'thinkgamer', 'age': 23, 'sex': 'men'}
<class 'dict'>

方式三:json.dump() 将对象写入文件
import json
data ={
'name': 'thinkgamer',
'age': 23,
'sex': 'men'
}
with open('user.txt','w') as fd:
json.dump(data,fd)

方式四:json.load() 从文件中读取
import json
data ={
'name': 'thinkgamer',
'age': 23,
'sex': 'men'
}
with open('user.txt') as fd:
date_json=json.load(fd)
print(date_json)
print(type(date_json))

结果:
{'name': 'thinkgamer', 'age': 23, 'sex': 'men'}
<class 'dict'>

python2的环境下:
In [143]: import json

In [144]: a = dict(hello="你好")

In [145]: print(a)
{'hello': '\xe4\xbd\xa0\xe5\xa5\xbd'}

In [146]: print(a["hello"])
你好

In [147]: print(str(a))
{'hello': '\xe4\xbd\xa0\xe5\xa5\xbd'}

In [148]: print(json.dumps(a, ensure_ascii=False))
{"hello": "你好"}

转载于:https://blog.51cto.com/jacksoner/2108570

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值