netrc
— Bearbetning av netrc-fil¶
Källkod: Lib/netrc.py
Klassen netrc
analyserar och kapslar in filformatet netrc som används av Unix-programmet ftp och andra FTP-klienter.
- class netrc.netrc([file])¶
En
netrc
-instans eller underklass-instans kapslar in data från en netrc-fil. Initialiseringsargumentet, om det finns, anger vilken fil som skall analyseras. Om inget argument anges kommer filen.netrc
i användarens hemkatalog – som bestäms avos.path.expanduser()
– att läsas. Annars kommer ettFileNotFoundError
undantag att uppstå. Parse-fel kommer att ge upphov tillNetrcParseError
med diagnostisk information inklusive filnamn, radnummer och avslutande token.Om inget argument anges på ett POSIX-system kommer förekomsten av lösenord i filen
.netrc
att ge upphov till ettNetrcParseError
om filägandet eller behörigheterna är osäkra (ägs av en annan användare än den som kör processen, eller är tillgängliga för läsning eller skrivning av någon annan användare). Detta implementerar ett säkerhetsbeteende som är likvärdigt med det i ftp och andra program som använder.netrc
. Sådana säkerhetskontroller är inte tillgängliga på plattformar som inte stöderos.getuid()
.Ändrad i version 3.4: Lagt till kontroll av POSIX-behörighet.
Ändrad i version 3.7:
os.path.expanduser()
används för att hitta platsen för.netrc
-filen när file inte anges som argument.Ändrad i version 3.10:
netrc
försöker UTF-8-kodning innan lokalspecifik kodning används. Posten i netrc-filen behöver inte längre innehålla alla tokens. Värdet för de tokens som saknas är som standard en tom sträng. Alla tokens och deras värden kan nu innehålla godtyckliga tecken, t.ex. blanksteg och icke-ASCII-tecken. Om inloggningsnamnet är anonymt kommer det inte att utlösa säkerhetskontrollen.
- exception netrc.NetrcParseError¶
Undantag som skapas av
netrc
-klassen när syntaktiska fel påträffas i källtexten. Instanser av detta undantag ger tre intressanta attribut:- msg¶
Textuell förklaring av felet.
- filename¶
Namnet på källfilen.
- lineno¶
Radnumret där felet upptäcktes.
netrc-objekt¶
En instans av netrc
har följande metoder:
- netrc.authenticators(host)¶
Returnerar en 3-tupel
(inloggning, konto, lösenord)
av autentiserare för host. Om netrc-filen inte innehöll någon post för den angivna värden, returneras den tupel som är associerad med ”default”-posten. Om varken matchande värd eller standardpost finns tillgänglig, returnerasNone
.
- netrc.__repr__()¶
Dumpar klassdata som en sträng i samma format som en netrc-fil. (Detta tar bort kommentarer och kan ändra ordningen på posterna)
Instanser av netrc
har offentliga instansvariabler:
- netrc.hosts¶
Ordbok som mappar värdnamn till
(login, account, password)
-tupler. Den eventuella ”default”-posten representeras som en pseudovärd med det namnet.
- netrc.macros¶
Ordbok som mappar makronamn till stränglistor.