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
相关产品推荐
相关产品推荐

