9.1.3 模块接口
2016-04-18 22:48
337 查看
pickle.HIGHEST_PROTOCOL 一个整数,表示支持协议的最高版本。例子:#python 3.4import pickle r = pickle.HIGHEST_PROTOCOLprint('version:', r)结果输出如下:version: 4 pickle.DEFAULT_PROTOCOL 一个整数,表示默认使用的协议版本。例子:#python 3.4import pickle r = pickle.DEFAULT_PROTOCOLprint('version:', r)结果输出如下:version: 3 pickle.dump(obj, file, protocol=None, *, fix_imports=True) 把一个对象obj打包,并写入文件file。参数protocol是想使用打包协议的版本;参数fix_imports设置为True,如果协议版本小于3,则会尽量按Python2版本来打包。例子:#python 3.4import pickle with open(r'F:\temp\py\pk', 'wb') as f: l = [2, 3, 4, 5] r = pickle.dump(l, f) print(r)结果输出如下:None在这个例子里,把列表对象l进行序列化,再把数据流写入文件对象f,这样就保存到磁盘上了。 pickle.dumps(obj, protocol=None, *, fix_imports=True) 把对象obj打包成一个bytes对象返回。参数与上面函数dump()一样。例子:#python 3.4import pickle l = [2, 3, 4, 5]r = pickle.dumps(l)print(r)结果输出如下:b'\x80\x03]q\x00(K\x02K\x03K\x04K\x05e.' pickle.load(file, *, fix_imports=True, encoding="ASCII", errors="strict") 从打开的文件里读取一个打包的对象,并解包返回此对象。参数encoding和errors是怎么样解析8位表示的字符串。其它参数与上面的函数是一样的。例子:#python 3.4import pickle with open(r'F:\temp\py\pk', 'rb') as f: r = pickle.load(f) print(r)结果输出如下:[2, 3, 4, 5] pickle.loads(bytes_object, *, fix_imports=True, encoding="ASCII", errors="strict") 从bytes字节对象里解包出来Python内部表示的对象。参数bytes_object是bytes表示的对象。其它参数与上面函数一样。例子:#python 3.4import pickle l = [2, 3, 4, 5]r = pickle.dumps(l)print(r)r = pickle.loads(r)print(r)结果输出如下:b'\x80\x03]q\x00(K\x02K\x03K\x04K\x05e.'[2, 3, 4, 5] exception pickle.PickleError 模块pickle异常基类。 exception pickle.PicklingError 当打包一个对象不能打包时,就抛出本异常。 exception pickle.UnpicklingError 当在解包时出错,就会抛出此异常。 在pickle模块里,主要定义了两个类供外面访问:Pickler和Unpickler。class pickle.Pickler(file, protocol=None, *, fix_imports=True)创建一个二进制文件,可以写入打包的数据流到文件。参数file是保存数据的文件名称;参数protocol是可选的协议版本号,值可以设置从0到HIGHEST_PROTOCOL,如果没有设置默读值是DEFAULT_PROTOCOL;参数fix_imports设置为True时,当版本号小于3,打包时就会转换Python3版本的名称为Python2版本的名称,以便在Python2版本里可以读取到打包的数据。 dump(obj) 本函数是写一个打包的数据对象到已经打开的文件对象里。 persistent_id(obj) 本函数默认时,什么也没有做,主要为了给派生类进行继承使用。如果本函数返回None,表示对象obj按普通方式打包;如果返回任何其它值,就会当作储存ID来保存,读取时可以根据这个储存ID来读取出来,比如调用Unpickler.persistent_load()函数来加载。 dispatch_table 主要用来为方法__reduce__()保存一个分配表。默认情况下,不会保存一个这样的分配表,使用全局的分配表。如果需要保存一个私有的分配表时需要自己创建一个。 fast本属性已经不再使用。如果设置为True值,表示使用快速模式。 class pickle.Unpickler(file, *, fix_imports=True, encoding="ASCII", errors="strict") 从一个二进制文件里读取打包的数据对象。参数file是保存数据的文件名称;参数protocol是可选的协议版本号,值可以设置从0到HIGHEST_PROTOCOL,如果没有设置默读值是DEFAULT_PROTOCOL;参数fix_imports设置为True时,当版本号小于3,打包时就会转换Python3版本的名称为Python2版本的名称,以便在Python2版本里可以读取到打包的数据。参数encoding是用来指明采用什么方式来读取8位的字符串对象;参数errors是用来表示读取对象时的错误处理方式。 load() 本函数从二进制文件里加载所有认识对象返回。 persistent_load(pid) 本函数默认弹出异常错误UnpicklingError。 find_class(module, name) 本函数从模块module里找到name对象返回,也可以使用于查找函数的返回。
蔡军生 QQ:9073204 深圳
蔡军生 QQ:9073204 深圳
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法