Python如何遍历目录下匹配前缀数组的文件名并合并对应文件
解决方案
直接遍历你定义的colors数组中的前缀值生成对应文件名即可,不需要硬编码单个文件名,也不用额外遍历全目录做文件名匹配,逻辑更简洁也不容易出错。
完整实现代码:
import os import numpy as np directory = '/home/ec2-user/SageMaker/' colors = np.array(['green','blue','red']) for prefix in colors: # 拼接各文件的完整路径,避免路径分隔符兼容问题 file_1 = os.path.join(directory, f"{prefix}_1.txt") file_2 = os.path.join(directory, f"{prefix}_2.txt") output_file = os.path.join(directory, f"{prefix}.txt") # 读取两个分片文件内容 with open(file_1, 'r') as f: content_1 = f.read() with open(file_2, 'r') as f: content_2 = f.read() # 拼接后写入目标文件 with open(output_file, 'w') as f: f.write(content_1 + content_2)
注意点
- 原代码中单独成行的
data是无效语句,直接删除即可,不需要保留 - 用
os.path.join()拼接路径可以适配Windows、Linux不同系统的路径规则,避免手动拼接斜杠导致的文件找不到错误 - 如果需要兼容缺文件的场景,可以在打开文件前增加存在性判断,避免程序崩溃,参考代码:
if not os.path.exists(file_1) or not os.path.exists(file_2): print(f"前缀{prefix}对应的分片文件缺失,跳过处理") continue
- 这种遍历前缀数组的方式比全目录扫描效率更高,也不会误处理目录下其他不相关的文件。
内容的提问来源于stack exchange,提问作者Cody
相关产品推荐
相关产品推荐

