博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用模块-02
阅读量:4552 次
发布时间:2019-06-08

本文共 2242 字,大约阅读时间需要 7 分钟。

一、hashlib模块

1.1、hashlib模块提供了很多加密的算法,这里介绍一下hashlib的简单使用事例,用hashlib的md5算法加密数据

#python2的用法 m2 = hashlib.md5("a")  #这里还可以另外加上一个随机数,增加密码复杂度 src = "123456" m2.update(src)      #对src这个数进行md5加密 print(m2.hexdigest())   #打印加密后的结果 #python3的用法 m3 = hashlib.md5("123456".encode("utf-8"))  #增加随机数 src = bytes("ling", encoding="utf-8")    #转换为字节   m3.update(src) print(m3.hexdigest())

二、StringIO模块

在python2中是直接导入, 在python3中是放到io模块里了

2.1、在平时的开发过程中,有时候我们并不需要写在文件中,可以直接通过StringIO模块直接写入到系统内存中,如果不用了,直接清除就可以了。StringIO主要是用来在内存中写入字符串及字符串的缓存,它的接口和文件操作的接口是一致的,基本所有关于文件的方法都是可以用的,只要几个特殊的:

①、StringIO().getvalue():此函数没有参数,无论读写位置在哪里,都能够返回对象中的所有数据

②、StringIO().truncate(0):参数为0,表示清空所有写入的内容

③、StringIO().flush():刷新内部缓冲区

2.2、示例:

from io import StringIO stringIO = StringIO() stringIO.write("hello")    #写入到内存 stringIO.write("world")    #写入到内存 print(stringIO.getvalue())  #打印出来 stringIO.truncate(0)      #清空0之后的所有 print(stringIO.getvalue())  #再次打印没有东西了
test = dict(a=1) print(bytes(str(test).encode("utf-8")))  #修改字典为byte格式,需要先转换为字符串才能修改 StringIO操作的只能是str,如果要操作二进制数据,就需要用BytesIO,二进制可以操作任何东西

三、json模块

3.1、JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写

①、json.dumps():把python对象转化成json数据类型

②、json.loads():把json数据类型转化成python对象

需要注意的是json是一个str类型,但是转换的话只能用上面两个互转而不能用str强制转换,不然再重新loads的话会报错

③、json.dump():把python对象写入文件

④、json.load():把文件转换成python对象

3.2、示例

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

3.3、爬取数据示例:

import json import requests url = "http://qwd.jd.com/fcgi-bin/qwd_activity_list?g_tk=1231472791&env=3" session = requests.session() r = session.get(url) result = json.loads(r.text)  #转换为python对象 print(result["errCode"]) print(result["msg"])

3.4、示例:

import json a = dict(hello="你好") print(a) print(a["hello"]) # print(str(a)) print(json.dumps(a, ensure_ascii=False))  #ensure_ascii=False做转码用避免乱码
#在python2中第一个打印a是内存中的显示形式,而在python3就不存在这种情况了

3.5、示例:

import codecs import json test = {
"a": 1, "b": 2} with codecs.open("1.txt", "w") as f: json.dump(test, f)    #需要关闭文件才能操作,写入到1.txt文件内 with codecs.open("1.txt", "r") as f: aa = json.load(f) print(aa) print(type(aa))

 

转载于:https://www.cnblogs.com/Jweiqing/p/8963572.html

你可能感兴趣的文章
SpringBoot之旅第四篇-web开发
查看>>
iOS开发之下拉刷新和上拉加载更多
查看>>
包装类
查看>>
对于范式的理解
查看>>
【大数据算法】蓄水池抽样算法
查看>>
hbase shell出现ERROR:Can't get master address from Zookeeper;znode data==null
查看>>
sphinx全文检索之PHP使用教程
查看>>
蜗牛讲-fabric原理之锚点
查看>>
获取字符串字节长度跟截取字符串字节长度
查看>>
电影记录管理系统 修改与注释,完整代码
查看>>
sklearn.discriminant_analysis.LinearDiscriminantAnalysis 笔记
查看>>
freebsd 断电 单用户模式恢复
查看>>
一道java笔试题
查看>>
设计师交互推荐-提高设计水平的50套精美的PSD模板
查看>>
《机器学习技法》---AdaBoost算法
查看>>
敏捷开发综述
查看>>
sed简单使用(四)选择性显示
查看>>
广告模式
查看>>
tar 的–exclude参数,实现不包括某些文件(转)
查看>>
Visual C++ 2008入门经典 第十章标准模板库(二)
查看>>