python self 序列_python中序列化对象
# 序列化對象p1
import pickle? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# 內(nèi)置庫
class People:
def __init__(self, name, age):
self.name = name
self.age = age
def sayhi(self):
print("Hi, my name is {}, and I'm {}".format(self.name, self.age))
p1 = People(name="Jack", age=30)
p1.sayhi()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # Hi, my name is Jack, and I'm 30
f = open('p1', 'wb')? ? ? ? ? ? ? ? ? ? ? ? # 以二進制的方式
pickle.dump(p1, f)? ? ? ? ? ? ? ? ? ? ? ? ? # 參數(shù)為python的對象和文件句柄
f.close()
這樣寫入python對象后,在程序目錄下產(chǎn)生一個p1文件
下面我們來加載這個p1文件,從而使用p1這個對象對應(yīng)的類中的屬性
import pickle
class People:
def __init__(self, name, age):
self.name = name
self.age = age
def sayhi(self):
print("Hi, my name is {}, and I'm {}".format(self.name, self.age))
# 測試序列化對象的加載
f = open('p1', 'rb')? ? ? ? ? ? ? ? ? ? ? ? # 用二進制的方式讀
p2 = pickle.load(f)? ? ? ? ? ? ? ? ? ? ? ? ?# 可以把p1文件中python對象加載到內(nèi)存中,再把這個對象賦給p2
print(p2, p2.name, p2.age)? ? ? ? ? ? ? ? ? # <__main__.people object at> Jack 30
p2.sayhi()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # Hi, my name is Jack, and I'm 30
總結(jié)
以上是生活随笔為你收集整理的python self 序列_python中序列化对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中内置的集成开发工具_pyt
- 下一篇: jsr 正则验证_Java数据校验(Be