如何读取多个txt文件并保留含指定词的行更新原文件
批量处理TXT文件,仅保留包含指定关键词的行
实现思路
- 遍历目标目录下的所有TXT文件(或指定文件)
- 对每个文件,读取所有行并筛选出包含目标关键词的行
- 将筛选后的内容直接写回原文件(注意:会覆盖原文件,建议提前备份)
Python 实现脚本
import os # 配置参数 TARGET_DIR = "./txt_files" # 替换为你的TXT文件所在目录 KEYWORD = "plane" # 替换为你需要保留的关键词 FILE_EXT = ".txt" # 要处理的文件后缀 def filter_lines_in_file(file_path): # 读取文件内容并筛选行 with open(file_path, 'r', encoding='utf-8') as f: lines = f.readlines() # 筛选包含关键词的行 filtered_lines = [line for line in lines if KEYWORD in line] # 将筛选结果写回原文件 with open(file_path, 'w', encoding='utf-8') as f: f.writelines(filtered_lines) print(f"处理完成:{file_path}") def main(): # 遍历目录下的所有TXT文件 for root, dirs, files in os.walk(TARGET_DIR): for file in files: if file.endswith(FILE_EXT): file_path = os.path.join(root, file) filter_lines_in_file(file_path) if __name__ == "__main__": main()
使用说明
- 将上述代码保存为
filter_txt.py - 修改脚本中的
TARGET_DIR为你的TXT文件所在文件夹路径,KEYWORD设置为目标关键词(比如示例中的"plane") - 运行脚本:打开终端/命令行,进入脚本所在目录,执行
python filter_txt.py
关键注意事项
- 必须先备份原文件:脚本会直接覆盖原文件内容,操作失误可能导致数据丢失
- 若仅需处理单个文件,可简化脚本,直接指定单个文件路径而非遍历目录
- 编码适配:如果你的TXT文件不是UTF-8编码,需修改
open函数中的encoding参数(比如gbk)
内容的提问来源于stack exchange,提问作者Ii ExTReM
相关产品推荐
相关产品推荐

