netrc
— procesado del fichero netrc¶
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])¶ Una instancia de
netrc
o una instancia de una subclase encapsula la información del fichero netrc. El argumento de inicialización, si está presente, especifica el fichero a analizar. Si no se pasan argumentos, se leerá el fichero.netrc
del directorio home del usuario – determinado poros.path.expanduser()
. De lo contrario, se lanzará una excepciónFileNotFoundError
. Los errores de análisis lanzarán una excepciónNetrcParseError
con información de diagnóstico que incluye nombre del fichero, número de línea y token de finalización. Si no se especifica ningún argumento en un sistema POSIX, la presencia de contraseñas en el fichero.netrc
lanzará una excepciónNetrcParseError
si la propiedad del fichero o los permisos son inseguros (el propietario del fichero es distinto del usuario que ejecuta el proceso, o puede ser leído o escrito por cualquier otro usuario). Esto implementa un nivel de seguridad equivalente al de ftp y otros programas que usan.netrc
.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.netrc
cuando file no se pasa como argumento.Distinto en la versión 3.10:
netrc
prueba la codificación UTF-8 antes de usar la codificación específica de la configuración regional.
-
exception
netrc.
NetrcParseError
¶ Excepción lanzada por la clase
netrc
cuando se encuentran errores sintácticos en el texto origen. Las instancias de esta excepción ofrecen tres atributos interesantes:msg
es una explicación textual del error,filename
es el nombre del fichero origen, ylineno
indica el número de línea en el que 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.
Nota
Las contraseñas están limitadas a un subconjunto del conjunto de caracteres ASCII. En las contraseñas se permiten todos los símbolos de puntuación ASCII. Sin embargo, no se permiten espacios en blanco ni caracteres no imprimibles. Esto es una limitación de la manera en que se analiza el fichero .netrc y puede que se elimine en el futuro.