我想在python文件中获取前n行数据.为了得到一行,我会做下一行(文件)并得到很多我会做file.read(1024)或’.join(file.readlines()[:1000].
在函数中执行此操作的最佳方法是什么?这是一个开始:
def get_first_n_rows(self, file, n=1):
"""
Will return a string of the first N lines of data from the file.
"""
s = ''
with open(file, 'r') as f:
for line in f:
s += line
if line == n: break
return s
有没有更好的方法可以使用像下一个这样的交互器?
解决方法:
from itertools import islice
def get_first_n_rows(self, file, n=1):
"""
Will return a string of the first N lines of data from the file.
"""
s = ''
with open(file, 'r') as f:
for line in islice(f, n):
s += line
return s
从链接的文档:
Make an iterator that returns selected elements from the iterable. If
start is non-zero, then elements from the iterable are skipped until
start is reached. Afterward, elements are returned consecutively
unless step is set higher than one which results in items being
skipped.
标签:python,python-3-x
来源: https://codeday.me/bug/20190527/1161543.html