zoukankan      html  css  js  c++  java
  • Python学习---重点模块之pickle

    仅仅支持Python里面的函数等相关功能的实现,而且pickle写入的内容是看不出来的,读取的时候要求有原内容

    pickled的写入:

    import pickle
    
    def fun():
        print('ok')
    
    data = pickle.dumps(fun)
    # print(type(data))          # <class 'bytes'>
    # 注意这里是wb写入,b是二进制的意思,将里面的内容转换为bytes写入
    # 否则写入的是str类型, write() argument must be str, not bytes
    # 不要加入编码,否则会报错,binary mode doesn't take an encoding argument
    
    with open('pickle.txt', 'wb')as file:
        file.write(data)

    pickle的读取:

    import pickle
    def fun():
        print('ok')
    # 注意这里是rb读取,b是二进制的意思,读取里面的内容转换为bytes写入
    # 读取的时候,一定要添加原来的函数,否则找不到那段内存的指引,报错
    # 不要加入编码,否则会报错,binary mode doesn't take an encoding argument
    with open('pickle.txt', 'rb')as file:
        data = file.read()
    pickle_data = pickle.loads(data)
    print(type(pickle_data))
    pickle_data()

    注意:pickle也有load()和dump()方法,参考json

  • 相关阅读:
    request内置对象
    JSP页面、包含
    HTTP协议
    html简介
    数据访问层工具类
    数据运算
    可变于不可变对象分类
    有序 无序 的区别
    字符串方法
    day01_final
  • 原文地址:https://www.cnblogs.com/ftl1012/p/pickle.html
Copyright © 2011-2022 走看看