Python - obtenha uma lista de números de um arquivo e retorne como representação dict
Estou tendo problemas para ler um arquivo e retornar o conteúdo como um dicionário. Cada arquivo contém números separados por \ n, e o objetivo é contar os números que retornam cada número como uma chave e o valor da chave é o número de vezes que esteve no arquivo.
Exemplo: quandofilea.txt
contém"1\n1\n1\n2\n3\n3\n3\n3\n5\n"
a função deve retornar{1:3,2:1,3:4,5:1}
quandofilea.txt
contém"100\n100\n3\n100\n9\n9\n"
a função deve retornar{100:3, 3:1, 9:2}
quandofileb.txt
contém"13\n13\n13\n13\n13\n13\n13\n13\n"
a função deve retornar{13:8}
Aqui está minha tentativa atual:
def file_counts(filename):
a = open('filea.txt')
b = open('fileb.txt')
info = a.read()
info2 = b.read()
a.close()
b.close()
if info == True:
return (dict(collections.Counter(info)))
elif info2 == True:
return (dict(collections.Counter(info2)))
else:
return None
Atualmente, isso está me dando o erro que não existe nesse arquivo ou diretório e acredito que seja porque o conteúdo do arquivo muda em diferentes casos de teste. Portanto, o filea pode conter informações diferentes e a função precisa levar isso em consideração. Obrigado a quem ajuda