Python進階-----類組合的方式完成授權
阿新 • • 發佈:2018-10-15
格式化時間 line clas nco file 過程 Coding 內容 方式 授權:授權是包裝的一個特性, 包裝一個類型通常是對已存在的類型的一些定制,這種做法可以新建,修改或刪除原有產品的功能。其它的則保持
授權:授權是包裝的一個特性, 包裝一個類型通常是對已存在的類型的一些定制,這種做法可以新建,修改或刪除原有產品的功能。其它的則保持
原樣。授權的過程,即是所有更新的功能都是由新類的某部分來處理,但已存在的功能就授權給對象的默認屬性。
import time class FileHandle: def __init__(self,filename,mode = ‘r‘,encoding = ‘utf-8‘): self.file = open(filename,mode,encoding=encoding) #通過組合的方式獲取到文件句柄 def __getattr__(self, item): return getattr(self.file,item) #利用getattr 相當於通過文件句柄self.file調用他的相關方法 def write(self,line): #定制自己的寫入方法,加上寫入時間 writ_time = time.strftime(‘%Y-%m-%d %X‘) #格式化時間 self.file.write(‘%s %s‘%(writ_time,line)) #同時寫入時間+內容 f = FileHandle(‘授權測試.txt‘,‘a+‘) f.write(‘這是授權測試\n‘) f.seek(0) #將文件指針放到文本開頭 print(f.read()) f.close()
Python進階-----類組合的方式完成授權