Использование процессора Python / IDLE без причины - PullRequest
1 голос
/ 28 апреля 2011

Вот странная проблема у меня с IDLE (версия 2.6.5 с той же версией Python) в Windows.

Я пытаюсь запустить следующие три команды:

fid= open('file.txt', 'r')
lines=fid.readlines()
print lines

Когда команда print lines выполняется, процесс pythonw.exe сводит ЦП с ума, потребляя 100% ЦП, и, похоже, IDLE не отвечает. Файл file.txt составляет около 130 КБ - я не считаю этот файл очень большим!

Когда строки, наконец, печатаются (через несколько минут), если я пытаюсь прокрутить вверх, чтобы увидеть их, я снова испытываю такое же очень большое использование процессора.

Использование памяти pythonw.exe постоянно составляет около 15-16 МБ.

Может ли кто-нибудь объяснить мне это поведение - очевидно, это не может быть ошибкой в ​​IDLE, поскольку она была бы обнаружена ... Кроме того, что я могу сделать, чтобы подавить такое поведение? Мне нравится использовать IDLE для скриптовых задач, связанных с преобразованием данных из файлов.

1 Ответ

2 голосов
/ 28 апреля 2011

Попробуйте прочитать это построчно:

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.
...