Ветвь 'else' никогда не будет продолжена, потому что цикл for будет перебирать все строки файлов и затем завершаться.
Если вы хотите, чтобы выполнялась операция поиска, вам придется поместить ее вне цикла for
self.users = []
self.index = -1
infile = open(filename, "r")
while True:
for line in infile.readlines():
self.users.append(String.split((line),','))
infile.seek(0)
infile.close()
self.index= self._index +1
return self.users[self.index]
Проблема в том, что если вы будете зацикливаться вечно, вы исчерпаете память. Если вы хотите прочитать его только дважды, скопируйте и вставьте цикл for, в противном случае решите условие выхода и используйте операцию разрыва.