[Mini-EP3] Entrada e saída

[Mini-EP3] Entrada e saída

por Thiago Gomes -
Número de respostas: 7

Eu não entendi muito bem o enunciado da opção 2 do mini-ep3. O script deve receber somente entradas do tipo A e transformar em PTR, ou ele pode receber entradas PTR que devam ser transformadas em A?

Em resposta à Thiago Gomes

Re: [Mini-EP3] Entrada e saída

por Rafael Reggiani Manzo -

Olá Thiago,

Seu programa deve apenas receber um arquivo de zonas de DNS (uma série de entradas do tipo A basicamente) e devolver o DNS reverso (uma série de entradas do tipo PTR).

O contrário não é necessário. E na verdade impossível apenas com o arquivo de DNS reverso, pois nele você só tem a última parte do endereço IP sorriso

 

Respondi sua dúvida?

Em resposta à Rafael Reggiani Manzo

Re: [Mini-EP3] Entrada e saída

por Thiago Gomes -

Posso supor que se o usuário entrar com arquivo vazio, ou um arquivo com "NS" faltando, o programa vai retornar um erro, por exemplo, IndexError?

Em resposta à Thiago Gomes

Re: [Mini-EP3] Entrada e saída

por Thiago Okada -

Não vamos tentar quebrar o programa de vocês de propósito, mas seria legal vocês tratarem esses casos, até para vocês aprenderem a fazer tratamento de erros ;) .

Em resposta à Thiago Gomes

Re: [Mini-EP3] Entrada e saída

por Thiago Okada -

Só para você ter uma ideia como esse tratamento de erros é fácil. Você deu o exemplo de um "IndexError", que provavelmente foi o erro que você teve ao tentar abrir um arquivo em branco (provavelmente então você está armazenando o resultado da entrada dentro de uma lista). Então você tem duas opções:

  1. Não tratar o erro, e deixar o usuário se perguntando "que diabos está acontecendo aqui?" depois que ele receber o stacktrace;
  2. Tratar o erro de forma simples, uma maneira seria desse jeito:
    1. import sys
    2. lista = carregar_arquivo()
    3. try:
    4.     processar_dados(lista)
    5. except IndexError:
    6.     sys.exit("Arquivo em branco!")

E com isso, você melhorou e muito a usabilidade do seu programa adicionando 3 linhas de código ;). Para tratar o caso do arquivo sem o NS, você poderia dar uma exceção, dar um raise Exceção dentro da função que processa os dados e tratar isso no mesmo try...except mostrado acima.