1. 程式人生 > >Python進階-----類組合的方式完成授權

Python進階-----類組合的方式完成授權

格式化時間 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進階-----類組合的方式完成授權