Вот странная проблема с IDLE (версия 2.6.5 с той же версией Python) в Windows.
Я пытаюсь выполнить следующие три команды:
fid= open('file.txt', 'r')
lines=fid.readlines()
print lines
Когда выполняется команда линий печати, процесс pythonw.exe становится сумасшедшим CPU, потребляя 100% CPU, и IDLE, похоже, не отвечает. Файл file.txt составляет около 130 кб - я не считаю этот файл очень большим!
Когда строки окончательно распечатываются (через несколько минут), если я пытаюсь прокрутить вверх, чтобы увидеть их, я снова испытываю такое же очень большое использование ЦП.
Использование памяти pythonw.exe в памяти составляет около 15-16 МБ.
Может кто-нибудь объяснить мне такое поведение - очевидно, это не может быть ошибкой в IDLE, поскольку оно было бы обнаружено... Кроме того, что я могу сделать, чтобы подавить это поведение? Мне нравится использовать IDLE для script подобных задач, связанных с преобразованием данных из файлов.
Попробуйте прочесть его по строкам:
fid = open('file.txt', 'r')
for line in fid:
print line
Из документации по Input Output существует два способа чтения файлов:
print f.read() # This reads the *whole* file. Might be bad to do this for large files.
for l in f: # This reads it line by line
print l # and prints it. Might be better for big files.
130kb
, это в вопросе.