我有一段代码如下:
import os
for r,d,f in os.walk('/home/vibhor/Downloads'):
print(r,len(f))
我需要对文件数量进行排序输出,根据子目录下的文件数量打印输出,我应该对代码做什么更改。
答案 0 :(得分:2)
将数据保存在某个列表中,然后将其作为密钥长度进行排序。然后,您可以继续使用已排序的数据执行任何操作。
在下面的示例中,data
包含已成对的目录和文件数。
data = [(r, len(f)) for r, d, f in os.walk('/home/vibhor/Downloads')]
data = sorted(data, key=lambda x: x[1])
答案 1 :(得分:2)
定义要用于排序的键,如下所示:
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
按递减顺序给出答案。