1. 程式人生 > >pickle模塊 collections模塊在面向對象中的應用

pickle模塊 collections模塊在面向對象中的應用

open def 登錄註冊 如果 price elf 處理 pickle模塊 linu

pickle模塊

可以把對象實例化的結果通過文件操作存入文件再讀取出來

讀取出的結果是字典

可以直接調用

在登錄註冊等程序時可以簡化、方便操作

import pickle
class Course:
    def __init__(self,name,price,period):
        self.name = name
        self.price = price
        self.period = period

python = Course(python,20000,6 months)
linux = Course(linux
,15800,5 months) import pickle with open(pickle_file,ab) as f: pickle.dump(python,f) pickle.dump(linux,f) import pickle with open(pickle_file,rb) as f: obj1 = pickle.load(f) obj2 = pickle.load(f) while True: try: obj = pickle.load(f)
print(obj.__dict__) except EOFError: break

如果不知道已經存入文件的大小 可以在讀取的時候采用循環讀取 異常處理 避免報錯

collections模塊中的namedtuple

可以把創造出的命名元組轉為一個類

此時的類裏的屬性不可更改,沒有方法,就是一種元類

from collections import namedtuple

Course = namedtuple(Course,[name,price,period])
python = Course(python
,20000,6 month) print(python.name) print(python.price) print(python.period) print(type(python))

pickle模塊 collections模塊在面向對象中的應用