You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3读取多txt文件内容拼接输出意外换行如何解决?

问题根因

  • readlines()读取的每一行内容默认会保留末尾的换行符\n,你直接把三个带换行符的字符串拼接,自然会出现每个字段单独占一行的情况。
  • 循环内反复打开generated.txt执行追加写入,会产生多余的IO开销,还有概率因为文件缓冲问题出现内容拼接异常。

修复代码

# 读取时仅删除每行末尾的换行符,保留行内首尾的空格等有效字符
with open('user.txt', 'r') as f:
    user = [line.rstrip('\n') for line in f]
with open('color.txt', 'r') as f:
    color = [line.rstrip('\n') for line in f]
with open('number.txt', 'r') as f:
    number = [line.rstrip('\n') for line in f]

# 仅打开一次输出文件,完成所有写入操作,提升效率也避免异常
# 不需要保留旧输出内容用'w'模式,需要追加旧内容就换成'a+'
with open('generated.txt', 'w') as out_f:
    for u in user:
        for c in color:
            for n in number:
                # 整行拼接完成后统一加换行符
                generated = u + c + n + '\n'
                print(generated.rstrip('\n'))
                out_f.write(generated)

如果需要三个字段之间加分隔符(比如空格、逗号),把拼接逻辑改成u + ',' + c + ',' + n + '\n即可。

内容的提问来源于stack exchange,提问作者esiquiel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 04:15:05