netrc — Arquivo de processamento netrc

Código-fonte: Lib/netrc.py


A classe netrc analisa e encapsula o formato do arquivo netrc usado pelo programa Unix ftp e outros clientes FTP.

class netrc.netrc([file])

Uma instância ou instância de subclasse de netrc encapsula dados de um arquivo netrc. O argumento de inicialização, se presente, especifica o arquivo a ser analisado. Se nenhum argumento for fornecido, o arquivo .netrc no diretório inicial do usuário – conforme determinado por os.path.expanduser() – será lido. Caso contrário, uma exceção FileNotFoundError será levantada. Os erros de análise levantam NetrcParseError com informações de diagnóstico, incluindo o nome do arquivo, o número da linha e o token final. Se nenhum argumento for especificado em um sistema POSIX, a presença de senhas no arquivo .netrc levantará um NetrcParseError se a propriedade ou as permissões do arquivo forem inseguras (pertencentes a um usuário que não seja o usuário executando o processo ou acessível para leitura ou gravação por qualquer outro usuário). Isso implementa um comportamento de segurança equivalente ao do ftp e de outros programas que usam .netrc.

Alterado na versão 3.4: Adicionada a verificação de permissão POSIX.

Alterado na versão 3.7: os.path.expanduser() é usado para encontrar a localização do arquivo .netrc quando file não é passado como argumento.

Alterado na versão 3.10: netrc tenta a codificação UTF-8 antes de usar a codificação específica da localidade. A entrada no arquivo netrc não precisa mais conter todos os tokens. O valor padrão dos tokens ausentes é uma string vazia. Todos os tokens e seus valores agora podem conter caracteres arbitrários, como espaços em branco e caracteres não ASCII. Se o nome de login for anônimo, ele não acionará a verificação de segurança.

exception netrc.NetrcParseError

Exception raised by the netrc class when syntactical errors are encountered in source text. Instances of this exception provide three interesting attributes:

msg

Textual explanation of the error.

filename

The name of the source file.

lineno

The line number on which the error was found.

Objetos netrc

Uma instância da classe netrc tem os seguintes métodos:

netrc.authenticators(host)

Retorna uma tupla de 3 elementos (login, conta, senha) dos autenticadores do host. Se o arquivo netrc não contém uma entrada para o host dado, retorna a tupla associada com a entrada padrão. Se não houver nenhum host correspondente nem uma entrada padrão estiver disponível, retorna None.

netrc.__repr__()

Despeja os dados da classe como uma string no formato de um arquivo netrc. (Isso descarta os comentários e pode reordenar as entradas.)

Instâncias de netrc possuem variáveis de instância públicas:

netrc.hosts

Dicionário mapeando nomes de host para tuplas (login, conta, senha). A entrada default, se houver, é representada como um pseudo-host por esse nome.

netrc.macros

Dicionário mapeando nomes de macros para listas de strings.