netrc --- netrc 文件處理?
源代碼: Lib/netrc.py
netrc 類解析并封裝了 Unix 的 ftp 程序和其他 FTP 客戶端所使用的 netrc 文件格式。
-
class
netrc.netrc([file])? netrc的實(shí)例或其子類的實(shí)例會被用來封裝來自 netrc 文件的數(shù)據(jù)。 如果有初始化參數(shù),它將指明要解析的文件。 如果未給出參數(shù),則位于用戶家目錄的.netrc文件 -- 即os.path.expanduser()所確定的文件 -- 將會被讀取。 在其他情況下,則將引發(fā)FileNotFoundError異常。 解析錯(cuò)誤將引發(fā)NetrcParseError并附帶診斷信息,包括文件名、行號以及終止令牌。 如果在 POSIX 系統(tǒng)上未指明參數(shù),則當(dāng).netrc文件中有密碼時(shí),如果文件歸屬或權(quán)限不安全(歸屬的用戶不是運(yùn)行進(jìn)程的用戶,或者可供任何其他用戶讀取或?qū)懭耄⒁l(fā)NetrcParseError。 這實(shí)現(xiàn)了與 ftp 和其他使用.netrc的程序同等的安全行為。在 3.4 版更改: 添加了 POSIX 權(quán)限檢查。
在 3.7 版更改: 當(dāng)未將 file 作為參數(shù)傳入時(shí)會使用
os.path.expanduser()來查找.netrc文件的位置。
-
exception
netrc.NetrcParseError? 當(dāng)在源文本中遇到語法錯(cuò)誤時(shí)由
netrc類引發(fā)的異常。 此異常的實(shí)例提供了三個(gè)有用屬性:msg為錯(cuò)誤的文本說明,filename為源文件的名稱,而lineno給出了錯(cuò)誤所在的行號。
netrc 對象?
netrc 實(shí)例具有下列方法:
-
netrc.authenticators(host)? 針對 host 的身份驗(yàn)證者返回一個(gè) 3 元組
(login, account, password)。 如果 netrc 文件不包含針對給定主機(jī)的條目,則返回關(guān)聯(lián)到 'default' 條目的元組。 如果匹配的主機(jī)或默認(rèn)條目均不可用,則返回None。
-
netrc.__repr__()? 將類數(shù)據(jù)以 netrc 文件的格式轉(zhuǎn)儲為一個(gè)字符串。 (這會丟棄注釋并可能重排條目順序。)
netrc 的實(shí)例具有一些公共實(shí)例變量:
-
netrc.hosts? 將主機(jī)名映射到
(login, account, password)元組的字典。 如果存在 'default' 條目,則會表示為使用該名稱的偽主機(jī)。
-
netrc.macros? 將宏名稱映射到字符串列表的字典。
注解
密碼會被限制為 ASCII 字符集的一個(gè)子集。 所有 ASCII 標(biāo)點(diǎn)符號均可用作密碼,但是要注意空白符和非打印字符不允許用作密碼。 這是 .netrc 文件解析方式帶來的限制,在未來可能會被解除。
