除了这种方式之外,是否有更多python友好的方式从文件中读取100行:
f=open(varFilename,"r")
count=0
for fileLine in f:
print fileLine
count+=1
if count>100:
break
Run Code Online (Sandbox Code Playgroud)
我只是觉得有一个比计数增量更好的方法,然后尝试在循环内部打破.
用于itertools.islice()将文件对象迭代器限制为仅100行:
from itertools import islice
with open(filename) as f:
for line in islice(f, 100):
Run Code Online (Sandbox Code Playgroud)
在这里,我还使用文件对象作为上下文管理器 ; 该with语句确保在退出代码块时再次关闭文件.
如果您不需要限制迭代次数但只需要循环中的计数器,请不要使用单独的计数器.enumerate()改为使用:
for i, line in enumerate(f):
if i > 100:
Run Code Online (Sandbox Code Playgroud)
您可以使用从文件对象中itertools.islice获取第一n行:
from itertools import islice
with open(varFilename) as f:
for line in islice(f, 10):
#do something here
Run Code Online (Sandbox Code Playgroud)
并with在处理文件时使用语句:
with在处理文件对象时,最好使用关键字.这样做的好处是文件在套件完成后正确关闭,即使在途中引发了异常.
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |