python pickle模块使用-将内存数据保存到文本中以及从文本中直接读取信息到内存中
来源:互联网 发布:智睿高清网络电视官网 编辑:程序博客网 时间:2024/05/01 22:35
本文主要探索以各种方式来保存 Python 对象,而不必将其转换成某种其它格式。
pickle 模块及其同类模块 cPickle 向 Python 提供了 pickle 支持。后者是用 C 编码的,它具有更好的性能,对于大多数应用程序,推荐使用该模块。我们将继续讨论 pickle ,但本文的示例实际是利用了 cPickle 。由于其中大多数示例要用 Python shell 来显示,所以先展示一下如何导入 cPickle ,并可以作为 pickle 来引用它:
>>> import cPickle as pickle
现在已经导入了该模块,接下来让我们看一下 pickle 接口。 pickle 模块提供了以下函数对: dumps(object) 返回一个字符串,它包含一个 pickle 格式的对象; loads(string) 返回包含在 pickle 字符串中的对象; dump(object, file) 将对象写到文件,这个文件可以是实际的物理文件,但也可以是任何类似于文件的对象,这个对象具有 write() 方法,可以接受单个的字符串参数; load(file) 返回包含在 pickle 文件中的对象。
示例1:使用dumps()和loads() (不能直接保存到文本中,并且每次只能操作一个对象)注:对象可为字典,数组,列表等
- >>> import cPickle as pickle
- >>> t1 = ('this is a string', 42, [1, 2, 3], None)
- >>> t1
- ('this is a string', 42, [1, 2, 3], None)
- >>> p1 = pickle.dumps(t1)
- >>> p1
- "(S'this is a string'/nI42/n(lp1/nI1/naI2/naI3/naNtp2/n."
- >>> print p1
- (S'this is a string'
- I42
- (lp1
- I1
- aI2
- aI3
- aNtp2
- .
- >>> t2 = pickle.loads(p1)
- >>> t2
- ('this is a string', 42, [1, 2, 3], None)
- >>> p2 = pickle.dumps(t1, True)
- >>> p2
- '(U/x10this is a stringK*]q/x01(K/x01K/x02K/x03eNtq/x02.'
- >>> t3 = pickle.loads(p2)
- >>> t3
- ('this is a string', 42, [1, 2, 3], None)
示例2: 使用dump() 和load() (能够直接保存到文本中,将多个对象写入同一文本中并从同一文本中按照写入的顺序依次读取每一个对象)
- >>> a1 = 'apple'
- >>> b1 = {1: 'One', 2: 'Two', 3: 'Three'}
- >>> c1 = ['fee', 'fie', 'foe', 'fum']
- >>> f1 = file('temp.pkl', 'wb')
- >>> pickle.dump(a1, f1, True)
- >>> pickle.dump(b1, f1, True)
- >>> pickle.dump(c1, f1, True)
- >>> f1.close()
- >>> f2 = file('temp.pkl', 'rb')
- >>> a2 = pickle.load(f2)
- >>> a2
- 'apple'
- >>> b2 = pickle.load(f2)
- >>> b2
- {1: 'One', 2: 'Two', 3: 'Three'}
- >>> c2 = pickle.load(f2)
- >>> c2
- ['fee', 'fie', 'foe', 'fum']
- >>> f2.close()
阅读全文
0 0
- python pickle模块使用-将内存数据保存到文本中以及从文本中直接读取信息到内存中
- C#窗体中,textbox中数据保存到txt文本中,从文本读取数据到textbox
- 实现一个通讯录并将信息保存到文本中
- 实现一个通讯录并将信息保存到文本中
- C++读取txt数据为二维数组 将数据保存到txt文本中
- QT从Listwidget中逐行读取数据到文本中
- ffmpeg 从内存中读取数据(或将数据输出到内存)
- ffmpeg 从内存中读取数据(或将数据输出到内存)
- 从文本文件中读取数据排序并输出到文本
- 从内存中读取数据到ffmpeg中
- 输出数据到文本ofstream和从文本中读取数据ifstream
- iOS开发将数据保存到内存中
- Python 关于爬虫过程中 使用pickle 保持cookies到本地 以及读取的简单方法
- Java读取注册表信息到内存中
- 从XML中读取数据到内存的实例
- VC++中从txt文本中读取数据并且存到二维数组中
- C#直接读取文本文档到textBox中
- 从in_file文本中读取字符,写到out_file中
- Android 透明度数值
- JS原型与原型链终极详解
- SQL关联查询
- MATLAB入门教程
- Java基础-加载和遍历.properties文件
- python pickle模块使用-将内存数据保存到文本中以及从文本中直接读取信息到内存中
- 因 URL 意外地以“/LoginSystem”结束,请求格式无法识别。
- 循环神经网络(RNN) 基础详解
- webuploader在bootstrap模态对话框中选择文件按钮无效的问题
- java多线程
- Android调试adb devices找不到设备
- 玩转大数据_顺利渡过34岁裁退危机
- 探寻神秘的暗网!
- svn自动检出脚本完成备份