當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python email.headerregistry.BaseHeader用法及代碼示例


用法:

class email.headerregistry.BaseHeader(name, value)

namevalueheader_factory 調用傳遞給 BaseHeader。任何標頭對象的字符串值都是完全解碼為 unicode 的 value

這個基類定義了以下隻讀屬性:

BaseHeader 還提供了以下方法,該方法由電子郵件庫代碼調用,一般不應由應用程序調用:

BaseHeader 本身不能用於創建標頭對象。它定義了一個協議,每個專用標頭與之合作以生成標頭對象。具體來說,BaseHeader 要求專用類提供一個名為 parseclassmethod()。該方法調用如下:

parse(string, kwds)

kwds 是包含一個預初始化鍵 defects 的字典。 defects 是一個空列表。 parse 方法應將任何檢測到的缺陷附加到此列表中。返回時,kwds 字典 must 至少包含鍵 decodeddefects 的值。 decoded 應該是標頭的字符串值(即完全解碼為 unicode 的標頭值)。 parse 方法應該假設 string 可能包含 content-transfer-encoded 部分,但也應該正確處理所有有效的 unicode 字符,以便它可以解析 un-encoded 標頭值。

BaseHeader__new__ 然後創建頭實例,並調用其 init 方法。如果專用類希望設置除BaseHeader 本身提供的屬性之外的其他屬性,則隻需要提供init 方法。這樣的init 方法應該如下所示:

def init(self, /, *args, **kw):
    self._myattr = kw.pop('myattr')
    super().init(*args, **kw)

也就是說,應該刪除和處理專用類放入 kwds 字典的任何額外內容,並將 kw (和 args )的剩餘內容傳遞給 BaseHeader init 方法。

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 email.headerregistry.BaseHeader。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。