新聞中心
mailcap —- Mailcap 文件處理
源代碼: Lib/mailcap.py

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比海豐網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式海豐網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋海豐地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。
從版本 3.11 開始標記為過時,將在版本 3.13 中移除。: mailcap 模塊已被棄用(請參閱 PEP 594 了解詳情)。 mimetypes 模塊提供了一個替代品。
Mailcap 文件可用來配置支持 MIME 的應用程序例如郵件閱讀器和 Web 瀏覽器如何響應具有不同 MIME 類型的文件。 (“mailcap” 這個名稱源自短語 “mail capability”。) 例如,一個 mailcap 文件可能包含 video/mpeg; xmpeg %s 這樣的行。 然后,如果用戶遇到 MIME 類型為 video/mpeg 的郵件消息或 Web 文檔時,%s 將被替換為一個文件名 (通常屬于臨時文件) 并且會自動啟動 xmpeg 程序來查看該文件。
mailcap 格式的說明文檔見 RFC 1524, “A User Agent Configuration Mechanism For Multimedia Mail Format Information”,但它并不是一個互聯(lián)網(wǎng)標準。 不過,mailcap 文件在大多數(shù) Unix 系統(tǒng)上都受到支持。
mailcap.findmatch(caps, MIMEtype, key=’view’, filename=’/dev/null’, plist=[])
返回一個 2 元組;其中第一個元素是包含所要執(zhí)行命令的字符串 (它可被傳遞給 os.system()),第二個元素是對應于給定 MIME 類型的 mailcap 條目。 如果找不到匹配的 MIME 類型,則將返回 (None, None)。
key 是所需字段的名稱,它代表要執(zhí)行的活動類型;默認值是 ‘view’,因為在最通常的情況下你只是想要查看 MIME 類型數(shù)據(jù)的正文。 其他可能的值還有 ‘compose’ 和 ‘edit’,分別用于想要創(chuàng)建給定 MIME 類型正文或修改現(xiàn)有正文數(shù)據(jù)的情況。 請參閱 RFC 1524 獲取這些字段的完整列表。
filename 是在命令行中用來替換 %s 的文件名;默認值 '/dev/null' 幾乎肯定不是你想要的,因此通常你要通過指定一個文件名來重載它。
plist 可以是一個包含命名形參的列表;默認值只是一個空列表。 列表中的每個條目必須為包含形參名稱的字符串、等于號 ('=') 以及形參的值。 Mailcap 條目可以包含形如 %{foo} 的命名形參,它將由名為 ‘foo’ 的形參的值所替換。 例如,如果命令行 showpartial %{id} %{number} %{total} 是在一個 mailcap 文件中,并且 plist 被設為 ['id=1', 'number=2', 'total=3'],則結(jié)果命令行將為 'showpartial 1 2 3'。
在 mailcap 文件中,可以指定可選的 “test” 字段來檢測某些外部條件(例如所使用的機器架構(gòu)或窗口系統(tǒng))來確定是否要應用 mailcap 行。 findmatch() 將自動檢查此類條件并在檢查未通過時跳過條目。
在 3.11 版更改: To prevent security issues with shell metacharacters (symbols that have special effects in a shell command line), findmatch will refuse to inject ASCII characters other than alphanumerics and @+=:,./-_ into the returned command line.
If a disallowed character appears in filename, findmatch will always return (None, None) as if no entry was found. If such a character appears elsewhere (a value in plist or in MIMEtype), findmatch will ignore all mailcap entries which use that value. A warning will be raised in either case.
mailcap.getcaps()
返回一個將 MIME 類型映射到 mailcap 文件條目列表的字典。 此字典必須被傳給 findmatch() 函數(shù)。 條目會被存儲為字典列表,但并不需要了解此表示形式的細節(jié)。
此信息來自在系統(tǒng)中找到的所有 mailcap 文件。 用戶的 mailcap 文件 $HOME/.mailcap 中的設置將覆蓋系統(tǒng) mailcap 文件 /etc/mailcap, /usr/etc/mailcap 和 /usr/local/etc/mailcap 中的設置。
一個用法示例:
>>> import mailcap>>> d = mailcap.getcaps()>>> mailcap.findmatch(d, 'video/mpeg', filename='tmp1223')('xmpeg tmp1223', {'view': 'xmpeg %s'})
分享名稱:創(chuàng)新互聯(lián)Python教程:mailcap—-Mailcap文件處理
URL網(wǎng)址:http://fisionsoft.com.cn/article/dhoopeh.html


咨詢
建站咨詢
