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

  • 相关阅读:
    MvvmTest
    win8 app 相关的几个网站
    autp
    分析WPF代码工具
    mdsn
    线程和委托
    C#guanli
    学习Boost小结(一)
    Boost.test库的配置
    自己真是太没正事了.
  • 原文地址:https://www.cnblogs.com/ftl1012/p/pickle.html
Copyright © 2011-2022 走看看