如果我有一个文本文件,从第 5 MB 附近的行开始进入文件并将后续 5 MB 的行读入列表的干净方法是什么?最好是行列表。
我知道 f.seek(5000000)
从第 5 MB 开始,如果我估计行数,我可能可以估计下一个 5MB,但如果有更准确的值,那就太好了方式。尝试使用 f.readlines,但这不起作用
最佳答案
我假设的行为是在文件中查找 5 MB 并将接下来的 5 MB 分割成行。你想要这样的东西:
f.seek(5*1024*1024)
lines = f.read(5*1024*1024).splitlines()
或者手动计数(推荐方法,效率更高):
f.seek(5*1024*1024)
lines = []
while f.tell() < 10*1024*1024:
line = f.readline(10*1024*1024-f.tell())
lines.append(line)
但是,如果您要计算字节数,请记住以二进制模式打开文件!
关于python - 如何在 Python 中读取文件的中等大小指定 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30856733/