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

Python中合并多文件行并写入文件的最简实现方法

嘿,我懂你的需求啦——你是想把三个文件里的序列横向合并成一整行,而不是让每个文件的内容各占一行,对吧?之前用file.read()直接拼接的话,每个文件末尾的换行符会导致内容垂直分开,确实不符合要求。

给你两个最直接的解决方案,分Python代码和命令行两种场景:

用Python实现(最灵活,适合脚本化处理)

如果是用Python,推荐用这种健壮的方式,能自动处理原文件里的多余空格问题:

# 同时打开所有文件,自动管理文件关闭
with open('text1', 'r') as f1, open('text2', 'r') as f2, open('text3', 'r') as f3, open('merged.txt', 'w') as out_file:
    # 把每个文件的内容按空格分割成序列列表,过滤掉空字符串(避免多余空格)
    sequence1 = [item for item in f1.read().split() if item]
    sequence2 = [item for item in f2.read().split() if item]
    sequence3 = [item for item in f3.read().split() if item]
    
    # 合并三个序列,再转成空格分隔的单行字符串
    merged_sequence = ' '.join(sequence1 + sequence2 + sequence3)
    
    # 写入新文件
    out_file.write(merged_sequence)

如果你确定原文件里没有多余空格,也可以用更简洁的写法:

with open('text1', 'r') as f1, open('text2', 'r') as f2, open('text3', 'r') as f3, open('merged.txt', 'w') as out_file:
    # 读取内容并去掉首尾的换行/空白,再用空格连接
    merged_content = f"{f1.read().strip()} {f2.read().strip()} {f3.read().strip()}"
    out_file.write(merged_content)

用命令行实现(最快,适合快速处理文件)

如果你用Linux/macOS的bash或者Windows的WSL,一行命令就能搞定:

# 合并三个文件内容并去掉所有换行符,写入merged.txt
cat text1 text2 text3 | tr -d '\n' > merged.txt

如果担心原文件之间没有空格分隔,可以用这个版本(确保序列之间用空格连接,同时去掉末尾多余空格):

( cat text1 && echo -n " " && cat text2 && echo -n " " && cat text3 ) | sed 's/ $//' > merged.txt

这两种方法都能帮你把三个文件的序列合并成一行写入新文件,选适合你场景的就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:31:05