netrc
--- netrc ファイルの処理¶
ソースコード: Lib/netrc.py
netrc
クラスは、Unix ftp プログラムや他の FTP クライアントで用いられる netrc ファイル形式を解析し、カプセル化 (encapsulate) します。
- class netrc.netrc([file])¶
netrc
のインスタンスやサブクラスのインスタンスは netrc ファイルのデータをカプセル化します。 初期化の際の引数が存在する場合、解析対象となるファイルの指定になります。 引数がない場合、 (os.path.expanduser()
で特定される) ユーザのホームディレクトリ下にある.netrc
が読み出されます。ファイルが見付からなかった場合はFileNotFoundError
例外が送出されます。 解析エラーが発生した場合、ファイル名、行番号、解析を中断したトークンに関する情報の入ったNetrcParseError
を送出します。 POSIX システムにおいて引数を指定しない場合、ファイルのオーナシップやパーミッションが安全でない (プロセスを実行しているユーザ以外が所有者であるか、誰にでも読み書き出来てしまう) のに.netrc
ファイル内にパスワードが含まれていると、NetrcParseError
を送出します。 このセキュリティ的な振る舞いは、 ftp などの.netrc
を使うプログラムと同じものです。バージョン 3.4 で変更: POSIX パーミッションのチェックが追加されました。
バージョン 3.7 で変更: 引数で file が渡されなかったときは、
.netrc
ファイルの場所を探すのにos.path.expanduser()
が使われるようになりました。バージョン 3.10 で変更:
netrc
try UTF-8 encoding before using locale specific encoding. The entry in the netrc file no longer needs to contain all tokens. The missing tokens' value default to an empty string. All the tokens and their values now can contain arbitrary characters, like whitespace and non-ASCII characters. If the login name is anonymous, it won't trigger the security check.
- exception netrc.NetrcParseError¶
Exception raised by the
netrc
class when syntactical errors are encountered in source text. Instances of this exception provide three interesting attributes:- msg¶
Textual explanation of the error.
- filename¶
The name of the source file.
- lineno¶
The line number on which the error was found.
netrc オブジェクト¶
netrc
インスタンスは以下のメソッドを持っています:
- netrc.authenticators(host)¶
host の認証情報として、三要素のタプル
(login, account, password)
を返します。与えられた host に対するエントリが netrc ファイルにない場合、'default' エントリに関連付けられたタプルが返されます。host に対応するエントリがなく、default エントリもない場合、None
を返します。
- netrc.__repr__()¶
クラスの持っているデータを netrc ファイルの書式に従った文字列で出力します。(コメントは無視され、エントリが並べ替えられる可能性があります。)
netrc
のインスタンスは以下の public なインスタンス変数を持っています:
- netrc.hosts¶
ホスト名を
(login, account, password)
からなるタプルに対応づけている辞書です。'default' エントリがある場合、その名前の擬似ホスト名として表現されます。
- netrc.macros¶
マクロ名を文字列のリストに対応付けている辞書です。