Python: obtenga una lista de números de un archivo y regrese como representación dict
Tengo problemas para leer un archivo y devolver el contenido como un diccionario. Cada archivo contiene números separados por \ ny el objetivo es contar los números que devuelven cada número como una clave y el valor de la clave es la cantidad de veces que estuvo en el archivo.
Ejemplo: cuandofilea.txt
contiene"1\n1\n1\n2\n3\n3\n3\n3\n5\n"
la función debería volver{1:3,2:1,3:4,5:1}
cuandofilea.txt
contiene"100\n100\n3\n100\n9\n9\n"
la función debería volver{100:3, 3:1, 9:2}
cuandofileb.txt
contiene"13\n13\n13\n13\n13\n13\n13\n13\n"
la función debería volver{13:8}
Aquí está mi intento actual:
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
Actualmente esto me está dando el error de que no hay tal archivo o directorio y creo que es porque el contenido del archivo cambia en diferentes casos de prueba. Entonces filea puede contener información diferente y la función necesita dar cuenta de esto. Gracias a cualquiera que ayude