python第三方模块--第二讲

python第三方模块–第二讲

一、hashlib模块
1.1 hashlib的作用

hashlib模块用于加密,一般用的最多的位MD5加密方式

1.2 实际运用
例1:将一个明文以MD5加密方式加密

适用于python2的方式如下:

import hashlib
m = hashlib.md5("1234") #可以加随机数,如:"1234"
src = "hc"
m.update(src)
print(m.hexdigest())
适用于python3的方式如下:
import hashlib
m3 = hashlib.md5("12345".encode("utf-8"))
src =bytes("hc",encoding="utf-8")
m3.update(src)
print(m3.hexdigest())

输出结果如下:
这里写图片描述

1、hashlib的代码编写有些不同,如上可看出。
2、在加密的过程中可以加入随机的数,python3加密时需要指定encode的字符编码(如:UTF-8)。

二、StringIO模块
1.1 StringIO的作用

StringIO在python3中已加入到io模块中,需要从io模块中调用。
对于经常读写一个文件时,会导致计算机IO过高,这种情况我们可以使用StringIO,先写到内存中(缓冲区)。

1.2 实际运用
例1:调用及写入的方法:

from io import StringIO

stringIO = StringIO()
stringIO.write("hello")
stringIO.write("\nword")
print(stringIO.getvalue())
stringIO.truncate(0)        #清空内容
print(stringIO)

输出结果如下:
这里写图片描述

也可以使用 bytes 转换为二进制,所有东西都可以存,包括图片

例2:byets调用及写入的方法:

test = dict(a=1)
print(bytes(str(test).encode("utf-8")))

输出结果如下:
这里写图片描述

三、json模块
1.1 json的作用

用于将字符串和python对象之间转换。
loads 把字符串-》python对象
dumps 把python对象-》 字符串
load 把文件-》 python对象
dump 把python对象 写入文件

1.2 实际运用
例1:loads使用实例:

import json

test = '''[{"a": 1, "aa": 11, "aaa": 111}, {"b": 2, "bb": 22, "bbb": 222}, {"c":3}]'''
print(type(test))
newTest = json.loads(test)
print(type(newTest))
print(newTest[0]["a"])

输出结果如下:
这里写图片描述

1、查看原test是一个str 字符串类型
2、使用json模块loads 将test 转换成python对象 list 列表类型。
3、打印出a的v结果为1

例2:load和dump使用实例:

import codecs
import json

test = {"a": 1, "b": 2}
with codecs.open("1.txt", "w") as f:
    json.dump(test, f)

with codecs.open("1.txt", "r") as f:
    aa = json.load(f)
    print(aa)
    print(type(aa))

dump的输出结果,生成到了1.txt文件里:
这里写图片描述

load的输出结果,从1.txt文件中读取出内容:
这里写图片描述

1、load 和 dump 是把字符串写入文件,或者从文件里解析出来
2、需要用到文件使用的写入、读取方法。

猜你喜欢

转载自blog.csdn.net/oqqalex123456789d/article/details/80100455