这是一个奇怪的问题,我在Windows上使用IDLE(版本2.6.5,具有相同的Python版本)。
我尝试运行以下三个命令:
fid= open('file.txt', 'r')
lines=fid.readlines()
print lines
当执行print lines命令时,pythonw.exe进程正在CPU疯狂,消耗100%的CPU并且IDLE似乎没有响应。 file.txt大约是130 kb - 我认为这个文件不是很大!
当行最终打印时(几分钟后),如果我尝试向上滚动以查看它们,我再次体验到相同的非常大的CPU使用率。
pythonw.exe的内存使用量一直在15-16 MB左右。
任何人都可以向我解释这种行为 - 显然这不是IDLE中的一个错误,因为它会被发现......而且,我该怎样做才能抑制这种行为?我喜欢将IDLE用于脚本,例如涉及文件数据转换的任务。
答案 0 :(得分: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.