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.

exception netrc.NetrcParseError

Exceção levantada pela classe netrc quando erros sintáticos são encontrados no texto de origem. As instâncias desta exceção fornecem três atributos interessantes: msg é uma explicação textual do erro, filename é o nome do arquivo-fonte e lineno fornece o número da linha na qual o erro foi encontrado.

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.

Nota

As senhas são limitadas a um subconjunto do conjunto de caracteres ASCII. Todas as pontuações ASCII são permitidas nas senhas; no entanto, observe que caracteres em branco e não imprimíveis não são permitidos nas senhas. Essa é uma limitação da maneira como o arquivo .netrc é analisado e pode ser removido no futuro.