Python使用pickle模块储存对象操作示例

时间:2022-11-15 00:14:27

本文实例讲述了Python使用pickle模块储存对象操作。分享给大家供大家参考,具体如下:

众所周知,当我们需要储存数据的时候,就需要用到重定向。但是,这些都是储存简单的数据类型,那么当我们需要存储一个类的实例的时候该怎么存储呢?

实际上,我们需要用到一个模块———pickle,翻译为泡菜坛子

首先贴上一篇:pickle的使用方法

然后贴上一份代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# -*- coding:utf-8 -*-
import pickle
class Person():
  def __init__(self, name, age):
    self.name = name
    self.age = age
  def show(self):
    print(self.name + '_' + str(self.age))
if __name__ == "__main__":
  a = Person('tian', 20)
  a.show()
  c = Person('babydragon' ,5)
  f = open('test.txt', 'wb')#这里一定要加上b,因为文件默认的write不能是bytes类型的,可以自己尝试着删去看报错
  pickle.dump(a, f, 0)
  pickle.dump(c, f, 0)
  f.close()
  f = open('test.txt', 'rb')
  b = pickle.load(f)
  mm = pickle.load(f)
  cc = pickle.load(f)#有点类似于迭代器的感觉,这个就很强了,因为可以储存具体的实例666
  f.close()
  b.show()
  mm.show()
  print(b.name)

希望本文所述对大家Python程序设计有所帮助。

原文链接:https://blog.csdn.net/bbtl_ast/article/details/73014996