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
檔案的位置。在 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¶
將宏名稱對映到字串列表的字典。