• 对python pickle的理解


    python 提供了pickle模块,能将对象进行序列化,将对象以文件形式存放在磁盘。

    几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化。但是序列化后的数据可读性很差。

    pickle最主要的两个函数:

    pickle.dump(obj, file[, protocol])    # 序列化对象,并将结果数据流写入到文件对象中。

                    # 参数protocol是序列化模式,默认值为0,表示以文本的形式序列化。protocol的值还可以是1或2,表示以二进制的形式序列化。

    pickle.load(file)        # 反序列化对象。将文件中的数据解析为一个Python对象。

                   # 每取一次对象,就要load一次

     dump() 和 pickle() 成对存在

    其中要注意的是,在load(file)的时候,要让python能够找到类的定义,否则会报错

    例子如下:

     1 import pickle
     2 
     3 info_1 = {'admin': 'admin'}
     4 info_2 = {'user': 'user'}
     5 
     6 with open('test.txt', 'wb') as urs_file:
     7     pickle.dump(info_1, urs_file)
     8     pickle.dump(info_2, urs_file)
     9 
    10 with open('test.txt', 'rb') as urs_file:
    11     while True:
    12         try:
    13             admin = pickle.load(urs_file)
    14             print(admin)
    15         except EOFError:
    16             break

    运行结果:

    {'admin': 'admin'}
    {'user': 'user'}
    

      

  • 相关阅读:
    Java基础之内部类介绍
    Java基础之泛型的使用
    Zookeeper的ZAB协议
    ssm框架整合快速入门
    maven创建web项目
    Shiro快速入门
    工作流Activiti新手入门学习路线整理
    Bootstrap-table实现动态合并相同行(表格同名合并)
    Bootstrap-datetimepicker日期插件简单使用
    java web定时任务---quartz
  • 原文地址:https://www.cnblogs.com/lyuzt/p/9443752.html
Copyright © 2020-2023  润新知