使用python删除大文件中的特定行,怎样最优
用生成器比较好生成器处理大日志文本文本。https://zhuanlan.zhihu.com/p/21659182
■网友
1. 直接用 sedsed \u0026#39;/^a$/d\u0026#39; sample2. 用 Python 的话,可以直接用迭代方式遍历文件,代码示例:with open("delete_lines.txt") as f, open("delete_lines_output2.txt", "w") as f_out: for l in f: if l.strip() != "a": f_out.write(l)
■网友with open(\u0026#39;file.txt\u0026#39;, \u0026#39;r\u0026#39;) as old_file: with open(\u0026#39;file.txt\u0026#39;, \u0026#39;r+\u0026#39;) as new_file: # 定位到需要删除的行,跳出循环时,seek_point 存放的是被删除行的行首的光标位置 while True: # 记录光标位置 seek_point = old_file.tell() if \u0026#39;a\u0026#39; in old_file.readline().strip().split(\u0026#39;.\u0026#39;): # 光标跳到被删除行的下一行行首 break # 设置光标位置,光标在被删除行的行首 new_file.seek(seek_point, 0) # 被删除行的下一行读给 next_line next_line = old_file.readline() # 连续覆盖剩余行,后面所有行上移一行 while next_line: new_file.write(next_line) next_line = old_file.readline() # 写完最后一行后截断文件,因为删除操作,文件整体少了一行,原文件最后一行需要去掉 new_file.truncate() 【使用python删除大文件中的特定行,怎样最优】
推荐阅读
- 『先进』长江流域最先进洗舱站在宁投运 油可分离回收,水能循环使用
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 汽车|迈凯伦Artura不再使用迈凯伦祖传V8引擎了?
- 怎样成为一名合格的Python程序员?
- python 爬虫,咋获得输入验证码之后的搜索结果
- python的html5lib这个库咋使用啊我在网上也没有找到相关文档
- win7中本地连接跟无线网卡同时使用时是怎么样的模式
- 可不可能利用网盘的秒传功能使用伪造的MD5(或其他信息)值进行文件分享
- 零基础入门学习啥语言好
- 为啥很多企业给用户发邮件会使用noreply/no-reply@xx.xx的邮箱
