netrc
--- netrc 檔案處理¶
原始碼: Lib/netrc.py
netrc
類可以解析和封裝 Unix ftp 程式和其他 FTP 客戶端使用的 netrc 檔案格式。
- class netrc.netrc([file])¶
netrc
例項或其子類的例項封裝了來自 netrc 檔案的資料。 如果存在初始化引數,則它指定要解析的檔案。 如果沒有給出引數,將讀取使用者主目錄中的.netrc
檔案 --- 具體路徑由os.path.expanduser()
確定。 否則,將引發FileNotFoundError
異常。 解析錯誤將引發NetrcParseError
並附帶診斷資訊,包括檔名、行號和終結憑證。如果在 POSIX 系統上未指定任何引數,並且檔案所有權或許可權不安全(所有者不是執行該程序的使用者,或者任何其他使用者可讀或可寫),那麼
.netrc
檔案中存在的密碼將引發NetrcParseError
。 這實現了與 ftp 和其他使用.netrc
的程式等效的安全行為。 此類安全檢查在不支援os.getuid()
的平臺上不可用。在 3.4 版本發生變更: 添加了 POSIX 許可權檢查。
在 3.7 版本發生變更: 當 file 未作為引數傳入時,使用
os.path.expanduser()
來查詢.netrc
檔案的位置。在 3.10 版本發生變更:
netrc
會在嘗試使用區域特定編碼之前嘗試 UTF-8 編碼。 netrc 檔案中的條目不再需要包含所有憑證。 缺失憑證的值預設為空字串。 所有的憑證及其值現在都可以包含任意字元,如空白字元和非 ASCII 字元。 如果登入名為 anonymous,則不會觸發安全檢查。
- exception netrc.NetrcParseError¶
當在源文字中遇到語法錯誤時,由
netrc
類引發的異常。 此異常的例項提供了三個有用的屬性- msg¶
錯誤的文字解釋。
- filename¶
原始檔的名稱。
- lineno¶
發現錯誤的行號。
netrc 物件¶
netrc
例項具有以下方法
- netrc.authenticators(host)¶
返回 host 的一個 3 元組
(login, account, password)
認證資訊。 如果 netrc 檔案不包含給定主機的條目,則返回與 'default' 條目關聯的元組。 如果匹配的主機和預設條目都不可用,則返回None
。
- netrc.__repr__()¶
以 netrc 檔案格式的字串形式轉儲類資料。(這將丟棄註釋並可能重新排序條目。)
netrc
的例項具有公共例項變數
- netrc.hosts¶
將主機名對映到
(login, account, password)
元組的字典。 'default' 條目(如果有)由該名稱的偽主機表示。
- netrc.macros¶
將宏名稱對映到字串列表的字典。