最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

python存储对象到文件

来源:动视网 责编:小采 时间:2020-11-27 14:27:43
文档

python存储对象到文件

python存储对象到文件:1、pickle包 (1)、将内存中的对象转换成为文本流: import pickle # define class class Bird(object): have_feather = True way_of_reproduction = 'egg' summer = Bird() # construct an objec
推荐度:
导读python存储对象到文件:1、pickle包 (1)、将内存中的对象转换成为文本流: import pickle # define class class Bird(object): have_feather = True way_of_reproduction = 'egg' summer = Bird() # construct an objec


1、pickle包
(1)、将内存中的对象转换成为文本流:

import pickle 
# define class 
class Bird(object): 
 have_feather = True 
 way_of_reproduction = 'egg' 
 
summer = Bird() # construct an object 
picklestring = pickle.dumps(summer) # serialize object

使用pickle.dumps()方法可以将对象summer转换成了字符串 picklestring(也就是文本流)。随后我们可以用普通文本的存储方法来将该字符串储存在文件(文本文件的输入输出)。

当然,我们也可以使用pickle.dump()的方法,将上面两部合二为一:

import pickle 
# define class 
class Bird(object): 
 have_feather = True 
 way_of_reproduction = 'egg' 
 
summer = Bird() # construct an object 
fn = 'a.pkl' 
with open(fn, 'w') as f: # open file with write-mode 
 picklestring = pickle.dump(summer, f) # serialize and save object

对象summer存储在文件a.pkl

(2)、重建对象

首先,我们要从文本中读出文本,存储到字符串 (文本文件的输入输出)。然后使用pickle.loads(str)的方法,将字符串转换成为对象。要记得,此时我们的程序中必须已经有了该对象的类定义。

此外,我们也可以使用pickle.load()的方法,将上面步骤合并:

import pickle 
# define the class before unpickle 
class Bird(object): 
 have_feather = True 
 way_of_reproduction = 'egg' 
fn = 'a.pkl' 
with open(fn, 'r') as f: 
 summer = pickle.load(f) # read file and build object

2、cPickle包
cPickle包的功能和用法与pickle包几乎完全相同 (其存在差别的地方实际上很少用到),不同在于cPickle是基于c语言编写的,速度是pickle包的1000倍。对于上面的例子,如果想使用cPickle包,我们都可以将import语句改为:
import cPickle as pickle
就不需要再做任何改动了。

文档

python存储对象到文件

python存储对象到文件:1、pickle包 (1)、将内存中的对象转换成为文本流: import pickle # define class class Bird(object): have_feather = True way_of_reproduction = 'egg' summer = Bird() # construct an objec
推荐度:
标签: 保存 文件 数据
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top