Python保存类对象数据到文件

首先先介绍一种保存字典,列表等基础的Python类型进行保存:

保存基础数据

pickle是一个进行序列化的包,这里,直接保存一个具有3个字典,2个列表元素的列表!

        with open("Axis.pkl","wb") as file:
            list1 = [{"1":1},{"2":2},{"3":3},[1],[2]]
            pickle.dump(list1, file, True)

再次写入文件如下:

            with open("Axis.pkl", "rb") as file:
                list1 = pickle.load(file)
                print(list1[0],list1[1],list1[2],list1[3])
                dic1 = list1[0]
                dic2 = list1[1]
                dic3 = list1[2]
                list1 = list1[3]
                list2 = list1[4]

保存类对象

直接使用上面的方法是保存不了类对象里面的自定义的数据结构的。

可采用如下方式保存,先将对象转成字符串格式再进行保存:

        rw = class()
        output_hal = open("1.pkl", 'wb')
        str = pickle.dumps(rw)
        output_hal.write(str)
        output_hal.close()

打开方式如下:

            rq = class()
            with open("1.pkl",'rb') as file:
                rq  = pickle.loads(file.read())

注意:使用pickle方式进行保存,打开文件需要wb,rb,都是以二进制的方式打开的,不然会出错。

你可能感兴趣的:(python)