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

Python如何按文件名排序 将多文本文件内容逐行并排写入新文件

实现方案

你现有代码需要补全文件排序、内容读取、逐行合并三个核心环节,可直接运行的完整代码如下:

import glob

# 匹配所有file开头的文件后排序
# 普通字符串排序写法
myfiles = sorted(glob.glob('file*'))
# 如果存在file10、file11这类多数字文件名,建议用数字排序避免顺序错乱,替换成下面这行即可
# myfiles = sorted(glob.glob('file*'), key=lambda x: int(x.removeprefix('file')))

# 打开所有源文件准备读取
file_handles = [open(f, 'r', encoding='utf-8') for f in myfiles]

# 逐行对齐拼接写入目标文件
with open('output.txt', 'w', encoding='utf-8') as outfile:
    # 同时遍历所有文件的对应行
    for line_group in zip(*file_handles):
        # 去掉每行末尾的原有换行,用两个空格拼接(和示例格式一致)
        combined_line = '  '.join(line.rstrip('\n\r') for line in line_group)
        outfile.write(combined_line + '\n')

# 关闭所有打开的源文件
for fh in file_handles:
    fh.close()

补充说明

  • 如果各文件行数不一致,上述代码会以行数最少的文件为基准截断。如果需要保留最长文件的所有行,可以导入itertools模块,把zip替换成itertools.zip_longest,缺失的行默认填空值即可
  • 拼接分隔符可按需调整,比如需要制表符分隔就把' '替换为'\t'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 05:24:15