我想在根目录中找到最新的directory
:
当前此代码查找根路径中的所有directories
,还查找修改的time
:
import os
from datetime import datetime
root = r'D:\drivers'
def totimeformat(tm):
return tm.strftime('%Y-%m-%d %H:%M:%S')
dirs = []
for dir in directories:
d = os.path.join(root, dir)
if os.path.isdir(d):
print(d + '' + totimeformat(datetime.fromtimestamp(os.path.getatime(d))))
dirs.append(d)
您可以使用
os.scandir
在一个系统调用中获取给定目录中所有文件的所有信息,以获得更高的效率,并使用max
函数和返回给定目录的修改时间的键函数来查找具有最新修改时间的目录:您可以使用元组
(timestamp, dir)
创建列表,并使用sorted()
按时间戳排序。你知道吗排序后:第一个元素是最旧的目录,最后一个元素是最新的目录。你知道吗
您还可以获得三个最新的目录
sorted(dirs)[-3:]
你的代码基本上是好的。您只需更改它以反映您描述的逻辑:
相关问题 更多 >
编程相关推荐