random 伪随机数生成器模块
随机数生成日常中还是比较常用的,random默认根据系统时间来生成随机数,当然也可以设置随机数生成器的种子seed 。当seed一旦确定,random生成的内容也就跟着确定,不管执行多少次,生成的值已经是确定的了。
根据这个特性,在机器学习训练模型时,使用固定的seed将训练集划分后,可以使用不同的算法进行测算,可以得到在相同数据的情况下查看不同算法的好坏。
也是由于这个特性,随机数不能用在特定的安全场景中使用,一旦seed确定,随机生成的内容也就是固定。就可以顺序来破解下一个生成的内容。
random的常用方法
中文文档地址:https://www.sogou.com/link?url=hedJjaC291PES9QO_EuJFi2wiAdA0Gor1TiwqFhz0z5tUDZ0HTGMZiPaW3SaVoGktsCnpVGpPpA.
random.方法
.randrange(start, stop, step)
.choice( seq ) : 从非空序列 seq 返回一个随机元素。 如果 seq 为空,则引发 IndexError
.choices( seq, k=1 ):从非空
glob模块 –Unix 风格路径名模式扩展
glob模块可根据所用规则找出所有匹配特定模式的路径名 ,可以用来查找目标路径下的文件
查看指定目录下的所有文件
path = r"D:\test\*" files = glob.glob(path) print(files) ==> ['D:\test\a.txt', 'D:\test\b'] 可以查看D盘下test文件下的所有文件
模糊匹配路径下目标文件
file = r"D:\test\*txt" filename = glob.glob(file) print(filename) 返回包含目标文件的列表 : ['D:\test\a.txt']
glob通过和os.path.isdir()方法,可以深度遍历文件夹下所有的文件
import glob,os def each_in_dir(path): ''' :param path: :return:返回文件夹下所有文件组成的列表,深度遍历文件夹的每个文件 ''' fileslist = [] if os.path.isdir(path): data = glob.glob(os.path.join(path, '*')) while data: each = data.pop() if os.path.isdir(each): data.extend(glob.glob(os.path.join(each, '*'))) else: fileslist.append(each) return fileslist lt = each_in_dir(r'D:\a') print(lt) 输出结果: ['D:\a\b\c\d\d.txt', 'D:\a\b\c\c.txt', 'D:\a\b\b.txt', 'D:\a\a.txt']

测试的文件夹结构: 每一层文件夹,都有一个 .txt 文件 和 下一级的文件夹:文件夹a 包含 a.txt 和文件夹b, 文件夹b下包含b.txt 和文件夹c..
JSON模块
JSON 是一种轻量级的数据交换格式 ,也是nosql中常用的数据存放方式。json模块提供了对json转换python的字典类型,相互转换、持久化的处理。
hashlib模块
hashlib最常用在md5加密使用中