获取 os.walk() 的排序输出

Get sorted output for os.walk()

我有一段代码是这样的:

import os
for r,d,f in os.walk('/home/vibhor/Downloads'):
     print(r,len(f))

我需要对文件数量进行排序输出,打印根据子目录下存在的文件数量排序的输出,我应该对代码进行哪些更改。

将数据保存在某个列表中,然后以长度为关键字对其进行排序。然后你可以继续对排序后的数据做任何你想做的事情。

在下面的示例中,data 包含目录和文件数对,已排序。

data = [(r, len(f)) for r, d, f in os.walk('/home/vibhor/Downloads')]
data = sorted(data, key=lambda x: x[1])

按如下方式定义要用于排序的键:

print(sorted([(r, d, f) for r, d, f in os.walk('/home/vibhor/Downloads')], key=lambda x: len(x[2]), reversed=True))

reversed=True按降序给出答案。