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 的程序同等的安全行為。

在 3.4 版更改: 添加了 POSIX 權限檢查。

在 3.7 版更改: 當未將 file 作為參數傳入時會使用 os.path.expanduser() 來查找 .netrc 文件的位置。

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?

將宏名稱映射到字符串列表的字典。

注解

密碼會被限制為 ASCII 字符集的一個子集。 所有 ASCII 標點符號均可用作密碼,但是要注意空白符和非打印字符不允許用作密碼。 這是 .netrc 文件解析方式帶來的限制,在未來可能會被解除。