Python如何将文本文件行两两配对,插入指定字符后输出为两列
实现代码及说明
直接遍历文件行按步长2分组拼接即可,代码如下:
# 自定义分隔符 SEPARATOR = "■" # 读取原文件内容,去除每行末尾换行符 with open("test.txt", "r", encoding="utf-8") as input_file: content_list = [line.rstrip("\n") for line in input_file] output_list = [] # 按步长2遍历,两两拼接 for index in range(0, len(content_list), 2): if index + 1 < len(content_list): output_line = f"{content_list[index]} {SEPARATOR}{content_list[index + 1]}" else: # 若文件总行数为奇数,最后一行单独保留,不需要该逻辑可直接删除else分支 output_line = content_list[index] output_list.append(output_line) # 打印结果,如需写入新文件可替换为写入逻辑 for line in output_list: print(line) # 写入新文件示例 # with open("output.txt", "w", encoding="utf-8") as output_file: # output_file.write("\n".join(output_list))
关键说明
- 代码默认保留每行原有的首尾空格,仅删除末尾换行符,如需统一去除每行首尾所有空白,可将
rstrip("\n")替换为strip() - 自动兼容总行数为奇数的场景,不需要单独处理
- 指定utf-8编码避免特殊字符、中文乱码
用你提供的测试文件运行代码,输出结果如下:
I will come one day. ■What did you do. I will go home. ■OK, I'll come too. I'm waiting then. ■I will come.
你示例输出中的内容拼写差异是手动修改导致的,代码会严格保留原文件的内容不变。
内容的提问来源于stack exchange,提问作者onur yılmaz
相关产品推荐
相关产品推荐

