输出:
文件名称: data.log 文件编码: utf-8 文件打开模式: w+ 文件是否可读: True 文件是否可写: True 此时文件指针位置为: 0 写入文件 6 个字符 16 第一行内容 16 41 第一行内容 第二次 ['第一行内容\n', '第二次写入的内容\n'] 第一行内容 第二次写入的内容 序列化在 Python 中 pickle 模块实现对数据的序列化和反序列化。pickle 支持任何数据类型,包括内置数据类型、函数、类、对象等。
方法 dump将数据对象序列化后写入文件
pickle.dump(obj, file, protocol=None, fix_imports=True)必填参数 obj 表示将要封装的对象。
必填参数 file 表示 obj 要写入的文件对象,file 必须以二进制可写模式打开,即wb。
可选参数 protocol 表示告知 pickle 使用的协议,支持的协议有 0,1,2,3,默认的协议是添加在 Python 3 中的协议3。
从文件中读取内容并反序列化
pickle.load(file, fix_imports=True, encoding='ASCII', errors='strict')必填参数 file 必须以二进制可读模式打开,即rb,其他都为可选参数。
dumps以字节对象形式返回封装的对象,不需要写入文件中
pickle.dumps(obj, protocol=None, fix_imports=True) loads从字节对象中读取被封装的对象,并返回
pickle.loads(bytes_object, fix_imports=True, encoding='ASCII', errors='strict') 实例 import pickle data = [1, 2, 3] # 序列化数据并以字节对象返回 dumps_obj = pickle.dumps(data) print('pickle.dumps():', dumps_obj) # 从字节对象中反序列化数据 loads_data = pickle.loads(dumps_obj) print('pickle.loads():', loads_data) filename = 'data.log' # 序列化数据到文件中 with open(filename, 'wb') as file: pickle.dump(data, file) # 从文件中加载并反序列化 with open(filename, 'rb') as file: load_data = pickle.load(file) print('pickle.load():', load_data)输出:
pickle.dumps(): b'\x80\x03]q\x00(K\x01K\x02K\x03e.' pickle.loads(): [1, 2, 3] pickle.load(): [1, 2, 3] 命名规范Python 之父 Guido 推荐的规范
Type Public InternalModules lower_with_under _lower_with_under
Packages lower_with_under
Classes CapWords _CapWords
Exceptions CapWords
Functions lower_with_under() _lower_with_under()
Global/Class Constants CAPS_WITH_UNDER _CAPS_WITH_UNDER
Global/Class Variables lower_with_under _lower_with_under
Instance Variables lower_with_under _lower_with_under (protected) or __lower_with_under (private)
Method Names lower_with_under() _lower_with_under() (protected) or __lower_with_under() (private)
Function/Method Parameters lower_with_under
Local Variables lower_with_under
一份来自谷歌的 Python 风格规范:
参考资料简明 Python 教程
Python 3 教程 | 菜鸟教程
Python数据类型之“序列概述与基本序列类型(Basic Sequences)”
Python基本数据类型——元组和集合
python基础----特性(property)、静态方法(staticmethod)、类方法(classmethod)、__str__的用法
个人博客同步地址:
https://shockerli.net/post/python-study-note/