在处理数据的过程中,文件夹下的文件有时候按照一定的规律命名,按照要求,有时需要将文件夹中的文件按照原始的顺序读取:假设文件目录如图所示:
按照:
base_path = r'E:\download\generator\result'
files = os.listdir(base_path)
返回的files列表会打乱文件的顺序,结果是不固定的。
需要对文件列表进行排序才可以:
files.sort(key=lambda x: int(x.split('.')[0]))
这样就可以按照文件的排列顺序读取文件内容了。
完整代码:
# -*- coding: utf-8 -*-
import os
base_path = r'E:\download\generator\result'
files = os.listdir(base_path)
files.sort(key=lambda x: int(x.split('.')[0]))
for path in files:
full_path = os.path.join(base_path, path)
# print(full_path)
with open(full_path) as fp:
data = fp.read()
print(data)
--------------------------------------------------------------end--------------------------------------------------------------------------------