如何在 Python 中读取指定大小的文件块
How to read a middle size-specified chunk of a file in Python
如果我有一个文本文件,从文件中第 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)
但是,如果您要计算字节数,请记住以二进制模式打开文件!
如果我有一个文本文件,从文件中第 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)
但是,如果您要计算字节数,请记住以二进制模式打开文件!