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 文件解析方式帶來的限制,在未來可能會被解除。
