Python学习笔记--pickle 模块

在文件中, 字符串可以很方便的读取写入. 数字可能稍微麻烦一些, 因为read()方法只返回字符串, 我们还需要将其传给int()这样的函数, 使其将如'123'的字符串转为数字 123. 但是, 如果要保存更复杂的数据类型, 如列表, 字典, 或者类的实例, 那么就会更复杂了.

为了让用户在时常的编程和测试时保存复杂的数据类型, Python 提供了标准模块, 称为pickle. 这个模块可以将几乎任何的 Python 对象 (甚至是 Python 的代码), 转换为字符串表示; 这个过程称为pickling. 而要从里面重新构造回原来的对象, 则称为unpickling. 在 pickling 和 unpickling 之间, 表示这些对象的字符串表示, 可以存于一个文件, 也可以通过网络在远程机器间传输.

如果你有一个对象x, 和一个已经打开并用于写的文件对象f, pickle 这个对象最简单的方式就是使用:

pickle.dump(x,f)

有了 pickle 这个对象, 就能对f以读取的形式打开:

x=pickle.load(f)

(还有其他不同的形式, 比如 pickling 很多对象, 或者不想保存至文件; 更多的信息参考pickle模块.)

pickle是 Python 中保存及重用对象的标准方式; 标准的属于称为persistent对象 (即持久化对象). 因为pickle被广泛使用, 很多写 Python 扩展的作者都会确保, 如矩阵这样的数据类型能被合理的 pickle 和 unpickle.

=============================================================================

Python 中只有模块(module),类(class)以及函数(def、lambda)才会引入新的作用域,其它的代码块(如 if/elif/else/、try/except、for/while等)是不会引入新的作用域的,也就是说这这些语句内定义的变量,外部也可以访问

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • python学习笔记 声明:学习笔记主要是根据廖雪峰官方网站python学习学习的,另外根据自己平时的积累进行修正...
    renyangfar阅读 8,219评论 0 10
  • 教程总纲:http://www.runoob.com/python/python-tutorial.html 进阶...
    健康哥哥阅读 6,230评论 1 3
  • 两本不错的书: 《Python参考手册》:对Python各个标准模块,特性介绍的比较详细。 《Python核心编程...
    静熙老师哈哈哈阅读 8,621评论 0 80
  • 漫漫人生路,父亲用行动和陪伴来诠释着他的爱。影片《那山那人那狗》是由霍建起执导的,该片背景定在二十世纪八十年代初期...
    爱看火车的猫阅读 4,946评论 0 6
  • 你们分开之后的日子难熬吗? 我记得我当时分手那天并没有很痛苦,那天的天气还是闷闷的热,我和朋友在冷饮店喝冷饮,然后...
    萎靡大叔v阅读 2,682评论 0 0