如何读取非常大的文本文件的最后MB

如何读取非常大的文本文件的最后MB,第1张

如何读取非常大的文本文件的最后MB

使用file.seek():

import osfind_str = "ERROR"error = False# Open file with 'b' to specify binary modewith open(file_directory, 'rb') as file:    file.seek(-1024 * 1024, os.SEEK_END)  # Note minus sign    if find_str in file.read():        error = True

打开文件时必须指定二进制模式,否则会出现“未定义的行为”。在python2下,它仍然可以工作(对我而言确实如此),但是在python3下,如果以默认文本模式打开文件,

seek()
则会引发
io.UnsupportedOperation
异常。python
3文档在这里。尽管这些文档尚不清楚,但
SEEK_*
常量仍在
os
模块中。

更新: 克里斯·贝蒂(Chris
Betti)建议使用

with
语句进行更安全的资源管理。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5648122.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存