Вам не нужен Python, оболочка сделает:
grep "Login succeeded_or_whatever_the_log_says" logfile | wc -l
Если вы действительно настаиваете на использовании Python, попробуйте
print(sum(
1 for line in open('logfile')
if 'Login succeeded_or_whatever_the_log_says' in line))
Если сообщение об успешном входе в систему занимает несколько строк:
print(open('logfile').read().count('login\nsucceeded'))
Вам не нужно беспокоиться о закрытии дескриптора файла; Python делает это автоматически, когда GCing дескриптор файла:
$ touch x
$ python -c 'import time; open("x"); time.sleep(2)' & sleep 1 && fuser x
[1] 23232
$
но
$ python -c 'import time; f=open("x"); time.sleep(2)' & sleep 1 && fuser x
[1] 23265
x: 23265
$