如何使用Python删除文本文件中的特定行及指定文本片段?
Python删除文本文件中指定标识间的内容
针对你的需求,这里给你一套简单易上手的Python代码,专门用来删除文本里固定标识之间的内容块,适合新手操作:
核心代码示例
# 替换成你实际的起始/结束标识行(要完全匹配,包括标点、空格) START_MARKER = "【客户保密信息开始】" END_MARKER = "【客户保密信息结束】" # 读取原文本文件 with open("你的原文件名.txt", "r", encoding="utf-8") as input_file: all_lines = input_file.readlines() processed_lines = [] is_in_block = False # 标记是否处于要删除的内容块内 for line in all_lines: # 匹配起始标识,开始跳过内容 if START_MARKER in line.strip(): is_in_block = True continue # 匹配结束标识,停止跳过内容 if END_MARKER in line.strip(): is_in_block = False continue # 不在删除块内的行,保留下来 if not is_in_block: processed_lines.append(line) # 将处理后的内容写入新文件(建议不要直接覆盖原文件,防止误操作) with open("处理后文件名.txt", "w", encoding="utf-8") as output_file: output_file.writelines(processed_lines)
关键说明
- 标识匹配:把代码里的
START_MARKER和END_MARKER替换成你实际的固定标识行,注意要完全匹配(包括行里的标点、空格,用strip()是为了忽略行首行尾的空白字符,避免因为换行符导致匹配失败) - 文件读写:用
with open语句会自动处理文件的打开/关闭,新手不用手动管理,更安全 - 安全建议:代码会把处理后的内容写入新文件,不要直接覆盖原文件,先验证新文件没问题再替换原文件
- 多块处理:如果文件里有多个重复的标识块,这段代码会自动全部删除
测试建议
你可以自己创建一个测试文本文件(比如test.txt),内容类似:
正常内容1 【客户保密信息开始】 这里是要删除的保密内容 多行也能处理 【客户保密信息结束】 正常内容2
用测试文件跑一遍代码,确认功能正常后,再替换成你的真实文件。
内容的提问来源于stack exchange,提问作者Lewis Simcoates
相关产品推荐
相关产品推荐

