如何使用Python合并指定目录下所有TXT文件并保留原有行顺序
Python合并多个TXT文件实现方案
- 注意事项:
glob返回的文件列表默认不按文件名/创建时间逻辑排序,必须先对文件列表做排序,才能保证合并后的行顺序符合预期 - 完整可运行代码:
from glob import glob # 匹配目标目录下所有txt文件 path_directory = 'Part001/*.txt' list_files = glob(path_directory) # 按文件名排序,可根据需求调整排序规则 sorted_files = sorted(list_files) # 合并写入到新文件 output_file = 'merged_result.txt' # 指定utf-8编码避免乱码,newline参数避免不同系统换行符异常 with open(output_file, 'w', encoding='utf-8', newline='') as out_f: for file_path in sorted_files: with open(file_path, 'r', encoding='utf-8') as in_f: # 逐行写入原文件内容,保留原有格式 for line in in_f: out_f.write(line)
- 自定义排序说明:如果需要按文件修改时间排序,可将排序行替换为以下代码(需提前导入
os模块):
import os sorted_files = sorted(list_files, key=lambda x: os.path.getmtime(x))
运行代码后会在当前目录生成merged_result.txt,内容就是所有txt文件按顺序拼接的结果,完全匹配你给出的示例要求。
内容的提问来源于stack exchange,提问作者user15898019
相关产品推荐
相关产品推荐

