Длинная длинная линия? Я предполагаю, что строка слишком велика, чтобы уместиться в памяти, поэтому вам нужна некоторая буферизация.
Прежде всего, это плохой формат; если у вас есть какой-либо контроль над файлом, сделайте его одним словом в строке.
Если нет, используйте что-то вроде:
line = ''
while True:
word, space, line = line.partition(' ')
if space:
# A word was found
yield word
else:
# A word was not found; read a chunk of data from file
next_chunk = input_file.read(1000)
if next_chunk:
# Add the chunk to our line
line = word + next_chunk
else:
# No more data; yield the last word and return
yield word.rstrip('\n')
return