【发布时间】:2015-11-27 15:57:11
【问题描述】:
我在不同的文件夹中有同名的同一个文件。 我想找到最新的修改,所以我使用这个脚本:
import os
from collections import OrderedDict
home = os.path.expanduser('~/') # path of home, common for al users
result = []
time = {}
name = '.webpyconfig.ini'
for root, dirs, files in os.walk(home):
dirs[:] = [d for d in dirs if not d == '.Trash']
if name in files:
result.append(os.path.join(root, name))
for times in range(0, len(result)):
time[times] = [result[times], os.stat(result[times]).st_mtime]
time = OrderedDict(sorted(time.items(), key=lambda x: x[1]))
maxtime = time[len(time) - 1][1]
maxpath = time[len(time) - 1][0]
for k in range(0, len(time)):
print time[k][1], time[k][0]
print ''
print maxtime, maxpath
结果是:
1448636799.0 /Users/Leo/Desktop/Webpy/.webpyconfig.ini
1448637069.0 /Users/Leo/Desktop/Webpy2/.webpyconfig.ini
1448636937.0 /Users/Leo/Documents/Webpy/.webpyconfig.ini
1448636937.0 /Users/Leo/Documents/Webpy/.webpyconfig.ini
如您所见,顺序不正确,因为 Webpy2 是最新创建的文件。 有什么提示吗?
【问题讨论】:
-
为什么每次迭代都对
time有序字典重新排序?
标签: python sorting collections