netrc --- netrc 檔案處理¶
原始碼:Lib/netrc.py
netrc 類別能夠剖析 (parse) 並封裝 (encapsulate) netrc 檔案格式,以供 Unix ftp 程式和其他 FTP 用戶端使用。
- class netrc.netrc([file])¶
netrc實例或其子類別實例能夠封裝來自 netrc 檔案的資料。可用初始化引數(如有給定)指定要剖析的檔案,如果未給定引數,則將讀取(由os.path.expanduser()指定的)使用者主目錄中的.netrc檔案,否則將引發FileNotFoundError例外。剖析錯誤會引發NetrcParseError,其帶有包括檔案名稱、列號和終止 token 的診斷資訊。如果在 POSIX 系統上未指定引數,且若檔案所有權或權限不安全(擁有者與運行該行程的使用者不同,或者可供任何其他使用者讀取或寫入),存有密碼的
.netrc檔案將會引發NetrcParseError。這實作了與 ftp 和其他使用.netrc程式等效的安全行為。這種安全檢查在不支援os.getuid()的平台上不可用。在 3.4 版的變更: 新增了 POSIX 權限檢查。
在 3.7 版的變更: 當未傳遞 file 引數時,
os.path.expanduser()可用於查找.netrc檔案的位置。在 3.10 版的變更:
netrc在使用特定語言環境編碼前會先嘗試 UTF-8 編碼。netrc 檔案中的條目就不再需要包含所有 token,缺少的 token 值被預設為空字串。現在所有 token 及其值都可以包含任意字元,例如空格和非 ASCII 字元。如果登入名稱為匿名,就不會觸發安全檢查。
- exception netrc.NetrcParseError¶
當原始文本中遇到語法錯誤時,
netrc類別會引發例外。此例外的實例提供了三個有趣的屬性:- msg¶
錯誤的文字解釋。
- filename¶
原始檔案的名稱。
- lineno¶
發現錯誤的列號。
netrc 物件¶
netrc 實例具有以下方法:
- netrc.authenticators(host)¶
回傳 host 身份驗證器的三元素 tuple
(login, account, password)。如果 netrc 檔案不包含給定主機的條目,則回傳與 'default' 條目關聯的 tuple。如果並無匹配主機且預設條目也不可用則回傳None。
- netrc.__repr__()¶
將類別資料傾印 (dump) 為 netrc 檔案格式的字串。(這會將註解移除,並可能會對條目重新排序。)
netrc 的實例具有公開實例變數:
- netrc.hosts¶
將主機名稱對映到
(login, account, password)tuple 的字典。'default' 條目(如存在)表示為該名稱對應到的偽主機 (pseudo-host)。
- netrc.macros¶
巨集 (macro) 名稱與字串 list(串列)的對映字典。