我注意到如果我遍历我打开的文件,迭代它而不"读取"它会快得多.
即
l = open('file','r')
for line in l:
pass (or code)
Run Code Online (Sandbox Code Playgroud)
比...快得多
l = open('file','r')
for line in l.read() / l.readlines():
pass (or code)
Run Code Online (Sandbox Code Playgroud)
第二个循环将花费大约1.5倍的时间(我在完全相同的文件上使用timeit,结果是0.442对0.660),并且会得到相同的结果.
那么 - 我什么时候应该使用.read()或.readlines()?
因为我总是需要迭代我正在阅读的文件,并且在经过艰难的学习之后,.read()对大数据的缓慢感觉 - 我似乎无法想象再次使用它.