根据python中创建文件的日期对dict键进行排序

时间:2017-05-15 06:51:29

标签: python dictionary

我在包含数据的目录中有文本文件。我正在寻找填充dict,其中键是文本文件的名称,以及包含文件数据的相应项。 我希望dict中的名称键的顺序反映在库中创建测试文件的顺序。我用过的代码 是:

date_file_list = []
for filename in files:
    stats = os.stat(filename)
    lastmod_date = time.localtime(stats[8])
    date_file_tuple = lastmod_date, filename
    date_file_list.append(date_file_tuple) 
date_file_list.sort()
date_file_list_array = np.asarray(date_file_list)
File2Array = {}
for filename in date_file_list_array[0:20,1]:
    print(filename)
    File2Array.setdefault(filename,OpenandReadOO(filename))

OpenandReadOO是一个python函数,它打开并读取名称为filename的文件并填充numpy数组。

不幸的是,即使列表date_file_list和date_file_list_array被正确排序,当迭代它们时(看似正确的顺序),结果dict总是没有排序。

我应该如何以正确的顺序获取包含项目(和数据)的字典?

由于

格雷格

1 个答案:

答案 0 :(得分:0)

你应该使用有序的词典:

from collections import OrderedDict

res = OrderedDict()

for filename in date_file_list_array[0:20,1]:
    print(filename)
    res.__setitem__(filename,OpenandReadOO(filename))