python中的常用模块说明记录
刚刚接触python,记录一下接触到的python常用模块。(接触一个补充一个,慢慢记录)
目前接触到的有:
1. pickle:实现了基本的数据的序列化(数据写入文件)和反序列化(读取文件中的数据)
pickle.dump(obj, file, protocol) #序列化
obj:序列化对象,数据
file:目的文件,file以二进制可写打开 'wb'
protocol:序列化协议 0:默认,以文本形式序列化
1:老式二进制协议
2:新二进制协议
比如:pickle.dump( info, open('../a.txt', 'wb'))
pickle.load(file) #反序列化
file以二进制阅读模式打开 ‘rb'
比如:info = pickle.load(open( '../a.txt', 'rb' ))
拓展:通过pickle模块向文件追加数据
pickle.dump(info, open('../a.txt', 'ab+') 向文件末尾追加数据。
但是注意通过pickle.dump向文件追加数据之后,pickle.load的时候,无法读取追加的数据,需要再次pickle.load才能获取到新追加的数据,因为每次dump都会生成独立的头尾。所以,如果想将追加的数据也全部load,需要while遍历:
embInfo = {} with open('../a.txt', 'rb') as f: while True: try: l_node = pickle.load(f) for key in l_node: embInfo[key] = l_node[key] except EOFError: break
2. argparse:命令行参数解析模块
声明一个parse解析对象,参数可以为空
parse = argparse.ArgumentParser(description = 'someDescrption')
增加解析参数:add_argument函数拥有多个参数列表,需要用什么自行添加
parse.add_argument('--img_name', type = str, help='Image name', default = 'test')
parse.add_argument('--img_size', type = int, help='Image size(height, width) in pixels', default = 160)
解析参数的list列表
parse.parse_args(argvList)
3. numpy:算术函数
numpy包含了数学计算中的加、减、乘、除运算。
加:add()
减:subtract()
乘:multiply()
除:divide()
如果运用numpy进行算术计算的两个参数为数组,那么他们必须具有相同的形状。
4. 楼主后续发现了一个大佬整理好的常用模块,懒癌犯了,直接转载链接附上,
https://www.cnblogs.com/jpfss/p/9686050.html
但是楼主后续自己使用到新的模块之后,还会继续更新的。