二进制数据只是“原始”数据(如内存转储),字符串不受限制.
我可以通过逐行读取文件在大文本文件中执行此 *** 作.
我想我需要以块的形式读取文件,但是存在边界风险(匹配位于块边界)
我该如何搜索二进制数据.
非常感谢一个简短的例子.
编辑:
我没有看到相似之处.这对我来说并不清楚
s = ""SOME_CHUNK_SIZE = 4096 ## 4kb,totally arbitrarywith open("large_file","rb") as fh: if len(s) > SOME_BIG_NUMBER: s = s[SOME_CHUNK_SIZE:] s += fh.read(SOME_CHUNK_SIZE) ## do regex test Now
那可能会让你有所帮助.你还需要知道你何时在文件末尾,因为它似乎没有抛出错误,它只返回0个字节.您可以读取临时字符串并检查长度,也可以尝试检查文件统计信息并使用SOME_CHUNK_SIZE进行算术运算.
总结以上是内存溢出为你收集整理的在大型二进制文件(2 GB或更多)中使用regex搜索字符串全部内容,希望文章能够帮你解决在大型二进制文件(2 GB或更多)中使用regex搜索字符串所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)