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

Python 获取os.walk()的排序输出,python,os.walk,Python,Os.walk,我有一段代码如下: import os for r,d,f in os.walk('/home/vibhor/Downloads'): print(r,len(f)) 我需要有一个关于文件数量的排序输出,它根据子目录下存在的文件数量打印排序输出,我应该对代码做什么更改 将数据保存在某个列表中,然后以长度作为键对其进行排序。然后,您可以继续对排序后的数据执行任何操作 在下面的示例中,数据包含目录对和已排序的文件数 data = [(r, len(f)) for r, d, f in o

我有一段代码如下:

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

我需要有一个关于文件数量的排序输出,它根据子目录下存在的文件数量打印排序输出,我应该对代码做什么更改

将数据保存在某个列表中,然后以长度作为键对其进行排序。然后,您可以继续对排序后的数据执行任何操作

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

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
按降序给出答案。

添加一个输入和预期输出的示例请p声称他只需要目录名和文件数。为什么把所有的目录和文件都保留在列表中?是哪一部分让你得出这个结论的?我只看到他要求按目录中的文件数量排序。