netrc — netrc file processing¶
Código fuente: Lib/netrc.py
La clase netrc analiza y encapsula el formato del fichero netrc, usado por el programa Unix ftp y otros clientes FTP.
- class netrc.netrc([file])¶
A
netrcinstance or subclass instance encapsulates data from a netrc file. The initialization argument, if present, specifies the file to parse. If no argument is given, the file.netrcin the user’s home directory – as determined byos.path.expanduser()– will be read. Otherwise, aFileNotFoundErrorexception will be raised. Parse errors will raiseNetrcParseErrorwith diagnostic information including the file name, line number, and terminating token.If no argument is specified on a POSIX system, the presence of passwords in the
.netrcfile will raise aNetrcParseErrorif the file ownership or permissions are insecure (owned by a user other than the user running the process, or accessible for read or write by any other user). This implements security behavior equivalent to that of ftp and other programs that use.netrc. Such security checks are not available on platforms that do not supportos.getuid().Distinto en la versión 3.4: Añadida la comprobación de permisos POSIX.
Distinto en la versión 3.7:
os.path.expanduser()se usa para encontrar la localización del fichero.netrccuando file no se pasa como argumento.Distinto en la versión 3.10:
netrctry 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¶
Excepción lanzada por la clase
netrccuando se encuentran errores sintácticos en el texto origen. Las instancias de esta excepción ofrecen tres atributos interesantes:- msg¶
Explicación textual del error.
- filename¶
El nombre del archivo fuente.
- lineno¶
El número de línea donde se encontró el error.
Objetos netrc¶
Una instancia netrc tiene los siguientes métodos:
- netrc.authenticators(host)¶
Retorna una 3-tupla
(login, account, password)para autenticarse contra host. Si el fichero netrc no contiene una entrada para el host dado, retorna una tupla asociada con la entrada por defecto. Si no están disponibles ni el host correspondiente ni la entrada por defecto, retornaNone.
- netrc.__repr__()¶
Vuelca los datos de la clase como una cadena de caracteres en el formato de un fichero netrc. (Esto descarta comentarios y puede reordenar las entradas.)
Las instancias de netrc tienen variables de instancia públicas:
- netrc.hosts¶
Diccionario que asocia nombres de hosts a tuplas
(login, account, password). La entrada por defecto, si existe, está representada como un pseudo-host por ese nombre.
- netrc.macros¶
Diccionario que asocia nombres de macros a listas de cadenas de caracteres.