netrc — Verarbeitung von netrc-Dateien¶
Quellcode: Lib/netrc.py
Die Klasse netrc analysiert und kapselt das netrc-Dateiformat, das vom Unix ftp-Programm und anderen FTP-Clients verwendet wird.
- class netrc.netrc([file])¶
Eine Instanz von
netrcoder eine Unterklasseninstanz kapselt Daten aus einer netrc-Datei. Das Initialisierungsargument, falls vorhanden, gibt die zu analysierende Datei an. Wenn kein Argument angegeben wird, wird die Datei.netrcim Home-Verzeichnis des Benutzers – wie vonos.path.expanduser()ermittelt – gelesen. Andernfalls wird eineFileNotFoundErrorAusnahme ausgelöst. Analysefehler lösenNetrcParseErrormit diagnostischen Informationen aus, einschließlich des Dateinamens, der Zeilennummer und des abschließenden Tokens.Wenn auf einem POSIX-System kein Argument angegeben wird, löst die Anwesenheit von Passwörtern in der Datei
.netrceineNetrcParseErroraus, wenn die Dateibesitzverhältnisse oder Berechtigungen unsicher sind (dem Benutzer, der den Prozess ausführt, nicht gehören oder für andere Benutzer lesbar oder beschreibbar sind). Dies implementiert ein Sicherheitsverhalten, das dem von ftp und anderen Programmen, die.netrcverwenden, entspricht. Solche Sicherheitsüberprüfungen sind auf Plattformen, dieos.getuid()nicht unterstützen, nicht verfügbar.Geändert in Version 3.4: Hinzugefügt wurde die POSIX-Berechtigungsprüfung.
Geändert in Version 3.7:
os.path.expanduser()wird verwendet, um den Speicherort der Datei.netrczu finden, wenn *file* nicht als Argument übergeben wird.Geändert in Version 3.10:
netrcversucht zuerst die UTF-8-Kodierung, bevor die lokalitätsspezifische Kodierung verwendet wird. Der Eintrag in der netrc-Datei muss nicht mehr alle Token enthalten. Für fehlende Token wird als Wert ein leerer String angenommen. Alle Token und ihre Werte können nun beliebige Zeichen enthalten, wie z. B. Leerzeichen und Nicht-ASCII-Zeichen. Wenn der Login-Name "anonymous" lautet, wird die Sicherheitsprüfung nicht ausgelöst.
- exception netrc.NetrcParseError¶
Ausnahme, die von der Klasse
netrcausgelöst wird, wenn syntaktische Fehler im Quelltext auftreten. Instanzen dieser Ausnahme stellen drei interessante Attribute bereit- msg¶
Textuelle Erklärung des Fehlers.
- filename¶
Der Name der Quelldatei.
- lineno¶
Die Zeilennummer, in der der Fehler gefunden wurde.
netrc-Objekte¶
Eine Instanz von netrc hat die folgenden Methoden
- netrc.authenticators(host)¶
Gibt ein 3-Tupel
(login, account, password)von Authentifikatoren für host zurück. Wenn die netrc-Datei keinen Eintrag für den angegebenen Host enthielt, wird das Tupel zurückgegeben, das mit dem ‘default’-Eintrag verknüpft ist. Wenn weder ein übereinstimmender Host noch ein Standardeintrag verfügbar ist, wirdNonezurückgegeben.
- netrc.__repr__()¶
Gibt die Klassendaten als Zeichenkette im Format einer netrc-Datei aus. (Dies verwirft Kommentare und kann die Einträge neu ordnen.)
Instanzen von netrc haben öffentliche Instanzvariablen
- netrc.hosts¶
Dictionary, das Hostnamen auf
(login, account, password)Tupel abbildet. Der ‘default’-Eintrag wird, falls vorhanden, als Pseudo-Host mit diesem Namen dargestellt.
- netrc.macros¶
Dictionary, das Makronamen auf Zeichenkettenlisten abbildet.