meu código está assim mas estou recebendo o erro "EOFError: Ran out of input"
#contatos_utils.py
import csv, pickle
from contato import Contato
def csv_para_contatos(caminho, encoding='latin_1'):
contatos=[]
with open(caminho, econding=encoding) as arquivo:
leitor = csv.reader(arquivo)
for linha in leitor:
id, nome, email = linha
contato = Contato(id, nome, email)
contatos.append(contato)
return contatos
def contatos_para_pickle(contatos, caminhho):
with open(caminho, mode='wb') as arquivo:
pickle.dump(contatos, arquivo)
def pickle_para_contatos(caminho):
with open(caminho, mode='rb') as arquivo:
contatos = pickle.load(arquivo)
return contatos
#contato.py
class Contato:
def __init__(self, id, nome, email):
self.id = id
self.nome = nome
self.email = email
#main.py
import contatos_utils
try:
# contatos = contatos_utils.csv_para_contatos('dados/contatos.csv')
# contatos_utils.contatos_para_pickle(contatos,dados/contatos.pickle')
contatos = contatos_utils.pickle_para_contatos('dados/contatos.pickle')
for contato in contatos:
print(f'{contato.id} - {contato.nome} - {contato.email}')
except FileNotFoundError:
print('Arquivo não encontrado')
except PermissionError:
print('Sem permissao de escrita')