zoukankan      html  css  js  c++  java
  • python 对象存储///对象序列化

    如果你有写数据来之不易,并且希望每次都可以方便的读取,那么存储为一个对象是一个很不错的解决方法

    方法一、

    
    
    import pickle    #首先要导入包

    dics={'a':4,'b':5,'c':6}#要保存的数据集或者一个对象也行,这里以字典对象为例

    #把dics字典写入到二进制文件‘bat.data’中(名字后缀都还可以随意)
    with open('bat.data','wb') as f: #f.write( pickle.dumps(list) ) pickle.dump(list,f) #上面注释的意义完全一样。


    #读取保存的对象 with open('bat.data','rb') as f: # data = pickle.loads(f.read()) data = pickle.load(f) #跟上面的data = pickle.loads(f.read())语意完全一样。 print(data)


    输出:
    {'a': 4, 'b': 5, 'c': 6}

    可以看出读取的直接是一个字典(敲黑板!!)

    方法二、

    
    
    封装成函数直接调用就行
    
    
    import pickle    #首先要导入包

    def
    readbunchobj(self,path): file_obj = open(path, 'rb') bunch = pickle.load(file_obj) file_obj.close() return bunch def writeBunchobj(self,path, bunchobj): file_obj = open(path, 'wb'
    ) pickle.dump(bunchobj, file_obj) file_obj.close()

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      注:

    cPickle包:

    cPickle包的功能和用法与pickle包几乎完全相同 (其存在差别的地方实际上很少用到),不同在于cPickle是基于c语言编写的,速度是pickle包的1000倍。对于上面的例子,如果想使用cPickle包,我们都可以将import语句改为:

    import cPickle as pickle

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 

    参考:

    https://www.cnblogs.com/saryli/p/5098893.html

  • 相关阅读:
    ZOJ 1002 Fire Net
    Uva 12889 One-Two-Three
    URAL 1881 Long problem statement
    URAL 1880 Psych Up's Eigenvalues
    URAL 1877 Bicycle Codes
    URAL 1876 Centipede's Morning
    URAL 1873. GOV Chronicles
    Uva 839 Not so Mobile
    Uva 679 Dropping Balls
    An ac a day,keep wa away
  • 原文地址:https://www.cnblogs.com/51python/p/10534237.html
Copyright © 2011-2022 走看看