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

questionAnswers(2)

yourAnswerToTheQuestion