在Python 2.6和2.7中我会认为这两个结构是相同的:
方法A.
i=0
f=open('fred.txt','r')
for line in f.readline():
i+=1
print i
Run Code Online (Sandbox Code Playgroud)
方法B.
i=0
f=open('fred.txt','r')
for line in f:
i+=1
print i
Run Code Online (Sandbox Code Playgroud)
但是,当fred.txt增长到74,000行时,每行长度为2,684个字符,方法A打印2685,而方法B打印74000.显然,方法B是首选,但为什么方法A适用于小文件但是失败大文件?
Jos*_*Lee 17
有一个错字,它应该是f.readlines().你正在读一行并循环遍历该行中的每个字符.
两种方法(readlinesvs直接迭代文件)应该给出相同的结果,但是readlines会将整个内容存储在内存中.
| 归档时间: |
|
| 查看次数: |
61228 次 |
| 最近记录: |