Использование процессора Python / IDLE без причины

1

Вот странная проблема с 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 подобных задач, связанных с преобразованием данных из файлов.

  • 0
    Насколько большой файл?
  • 0
    130kb , это в вопросе.
Показать ещё 3 комментария
Теги:
cpu-usage
python-idle

1 ответ

2

Попробуйте прочесть его по строкам:

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.
  • 0
    Хорошо, это может быть решением, однако я действительно предпочитаю работать со списками в Python, используя их понимание вместо циклов. Для действительно больших файлов, возможно, но для обычных, я бы использовал командную строку python.exe, как я упоминал в другом комментарии ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню