Python读取txt文件按指定规则为段落行生成编号问题求助
Python 文本段落按规则编号调整方案
核心问题
原有代码仅使用单一全局计数器做编号,没有拆分段落序号和段落内行序号两个层级的计数逻辑,因此输出不符合预期。
实现逻辑
- 读取文本文件所有行,保留每行原始内容(仅去掉末尾换行符)
- 初始化两个独立计数器:
- 段落计数器
para_idx:记录当前是第几个段落,空白分隔行输出时使用该值 - 段落内行计数器
line_in_para:记录当前行在所属段落内的顺序,非空白行编号时和段落序号拼接使用
- 段落计数器
- 逐行遍历判断:
- 若当前为空白行:输出段落分隔标识,段落计数器+1,段落内行计数器重置为0
- 若当前为非空白行:拼接前一个段落序号和当前行的段落内序号输出,段落内行计数器+1
可直接运行的代码
# 替换为你的txt文件路径 file_path = "test.txt" with open(file_path, "r", encoding="utf-8") as f: # 读取所有行,仅去除末尾换行符 line_list = [line.rstrip("\n") for line in f] para_idx = 0 line_in_para = 0 for line in line_list: if not line.strip(): # 处理空白分隔行 print(f"{para_idx} --------------- 空白行") para_idx += 1 line_in_para = 0 else: # 处理段落内的行 print(f"{para_idx - 1}{line_in_para}) {line}") line_in_para += 1
输出验证
上述代码运行后会完全匹配你给出的预期输出格式。
内容的提问来源于stack exchange,提问作者Victória Greco
相关产品推荐
相关产品推荐

