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
程式等效的安全行為。在 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(串列)的對映字典。