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

yipeiwu_com6年前Python基础

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

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

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

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

然后贴上一份代码:

# -*- 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相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

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

相关文章

使用Python实现一个简单的项目监控

在公司里做的一个接口系统,主要是对接第三方的系统接口,所以,这个系统里会和很多其他公司的项目交互。随之而来一个很蛋疼的问题,这么多公司的接口,不同公司接口的稳定性差别很大,访问量大的时候...

Pytorch释放显存占用方式

如果在python内调用pytorch有可能显存和GPU占用不会被自动释放,此时需要加入如下代码 torch.cuda.empty_cache() 我们来看一下官方文档的说明 Relea...

python调用staf自动化框架的方法

1、配置环境 支持python2和python3 On Linux, Solaris, or FreeBSD, add the /usr/local/staf/lib directory...

在Python中使用lambda高效操作列表的教程

介绍 lambda Python用于支持将函数赋值给变量的一个操作符 默认是返回的,所以不用再加return关键字,不然会报错 result = lambda x: x * x re...

Python 线程池用法简单示例

本文实例讲述了Python 线程池用法。分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #! python3 ''' Created on 2019-...