Python / IDLE无缘无故的CPU占用

1 投票
1 回答
1774 浏览
提问于 2025-04-16 16:35

我在Windows上使用IDLE(版本2.6.5,Python版本也是一样)时遇到了一个奇怪的问题。

我尝试运行以下三个命令:

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

当执行打印行的命令时,pythonw.exe这个程序的CPU使用率飙升到100%,IDLE似乎也不再响应了。我的文件file.txt大约有130KB,我觉得这个文件并不算大!

当行内容终于打印出来(过了好几分钟),如果我试着向上滚动查看这些内容,CPU使用率又一次变得非常高。

pythonw.exe的内存使用量一直在15-16MB左右。

有没有人能给我解释一下这种情况?显然这不可能是IDLE的bug,因为应该早就被发现了……另外,我该怎么做才能解决这个问题?我喜欢用IDLE来处理一些涉及文件数据转换的脚本任务。

1 个回答

2

试着一行一行地读:

fid = open('file.txt', 'r')

for line in fid:
  print line

根据输入输出的文档,读取文件似乎有两种方法:

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.

撰写回答