Python / IDLE无缘无故的CPU占用
我在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.