collections.Counter
кажется хорошим вариантом.
Для подсчета количества вхождений каждой строки в файле, которые вы можете попробовать:
import collections
with open('myfile.txt') as f:
c = collections.Counter(f.readlines())
Затем, для хорошего вывода (как вы просили в комментарии к этому ответу), вы можете использовать:
# sorted by value (number of occurences, but descending order)
for k, v in c.most_common():
print(k, v)
# sorted by value (number of occurences, ascending order)
for k, v in sorted(c.items(), key=lambda x: x[1]):
print(k, v)
# sorted by key (line of the file)
for k, v in sorted(c.items(), key=lambda x: x[0]):
print(k, v)