13.4。 netrc —netrcファイル処理
バージョン1.5.2の新機能。
ソースコード: :source: `Lib / netrc.py`
netrc クラスは、Unix ftp プログラムおよびその他のFTPクライアントで使用されるnetrcファイル形式を解析してカプセル化します。
- class netrc.netrc([file])
netrc インスタンスまたはサブクラスインスタンスは、netrcファイルからのデータをカプセル化します。 初期化引数が存在する場合は、解析するファイルを指定します。 引数が指定されていない場合、ユーザーのホームディレクトリにあるファイル
.netrc
が読み取られます。 解析エラーは、ファイル名、行番号、終了トークンなどの診断情報を含む NetrcParseError を発生させます。 POSIXシステムで引数が指定されていない場合、ファイルの所有権またはアクセス許可が安全でない(ユーザー以外のユーザーが所有している)場合、.netrc
ファイルにパスワードが存在すると NetrcParseError が発生します。プロセスを実行するか、他のユーザーが読み取りまたは書き込みを行うためにアクセスできます)。 これにより、ftpや.netrc
を使用する他のプログラムと同等のセキュリティ動作が実装されます。バージョン2.7.6で変更: POSIX権限チェックを追加しました。
- exception netrc.NetrcParseError
- ソーステキストで構文エラーが発生した場合に netrc クラスによって発生する例外。 この例外のインスタンスは、3つの興味深い属性を提供します。
msg
はエラーのテキストによる説明、filename
はソースファイルの名前、lineno
は行番号を示します。エラーが見つかりました。
13.4.1。 netrcオブジェクト
netrc インスタンスには次のメソッドがあります。
- netrc.authenticators(host)
- ホストのオーセンティケーターの3タプル
(login, account, password)
を返します。 netrcファイルに特定のホストのエントリが含まれていなかった場合は、「default」エントリに関連付けられたタプルを返します。 一致するホストもデフォルトのエントリも使用できない場合は、None
を返します。
- netrc.__repr__()
- クラスデータをnetrcファイルの形式の文字列としてダンプします。 (これによりコメントが破棄され、エントリが並べ替えられる場合があります。)
netrc のインスタンスには、パブリックインスタンス変数があります。
- netrc.hosts
- ホスト名を
(login, account, password)
タプルにマッピングする辞書。 'default'エントリは、存在する場合、その名前で疑似ホストとして表されます。
- netrc.macros
- マクロ名を文字列リストにマッピングする辞書。
ノート
パスワードは、ASCII文字セットのサブセットに制限されています。 2.3より前のこのモジュールのバージョンは非常に制限されていました。 2.3以降、パスワードではすべてのASCII句読点が許可されています。 ただし、パスワードに空白や印刷できない文字を使用することはできません。 これは、.netrcファイルの解析方法の制限であり、将来削除される可能性があります。