Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Erro no método "gerar_perfis"

Eu tô recebendo uma mensagem de erro ao tentar executar o método gerar_perfis, e aparentemente é um problema com o construtor da classe Perfil.

class Perfil(object):
    'Classe padrão para perfis de usuários'

    def __init__(self, nome, telefone, empresa):
        self.nome = nome
        self.telefone = telefone
        self.empresa = empresa
        self.__curtidas = 0
@staticmethod
    def gerar_perfis(nome_arquivo):
        arquivo = open(nome_arquivo, 'r')
        perfis = []
        for linha in arquivo:
            valores = linha.split(',')
            perfis.append(Perfil(*valores))  //o problema está acontecendo nessa linha
        arquivo.close()
        return perfis

Mensagem de erro:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "models.py", line 27, in gerar_perfis
    perfis.append(Perfil(*valores))
TypeError: __init__() takes exactly 4 arguments (2 given)

Aliás, esse erro já estava ocorrendo quando eu fazia o método direto no terminal.

5 respostas

Igor,

Vc já verificou se o arquivo perfis.csv esta no mesmo diretório da aplicação, e se os dados estão presentes.

--------- perfis. csv ---------------------------------------- Ana Paula Gonçalves, 21-34345432, Amigas Ltda Camila Almeida, 21-21215643, Auron Ltda Alexandrina Pessoa, 11-23416531, Primo Serviços

Igor, o seu arquivo csv tem que ter os 3 argumentos. O nome, telefone e a empresa. Você só ta passando um.

Texto dentro do meu arquivo.csv (está na mesma pasta que o models.py):

Igor Telles, 21-3283682, estudante
Flavio Telles, 21-2883924, nao informado
Iasmim Gomes, 21-39812933, estudante
Mariana Gomes, 21-9289028, autonoma
solução!

Igor, teu código tá certo, eu testei e rodou aqui. Teu arquivo csv ta com alguma linha em branco antes dos dados não?

Pior que tava hahaha