繁体   English   中英

如何获取所有子目录和文件的列表以及按大小排序的大小?

[英]How to get list of all sub directories and files along with their size ordered by size?

如何获取所有子目录和文件的列表以及按大小按升序排序的大小?

下面的代码获取了所有文件的列表,但没有根据大小排序。 请帮忙。

import os
import os.path, time
from os.path import join, getsize
count=0
for root, dirs, files in os.walk('Test'):
    for file in list(files):
        fileaddress = os.path.join(root, file)
        print("\nName:",fileaddress)
        print("Time:",time.strftime("%m/%d/%Y %I:%M:%S %p",time.localtime(os.path.getmtime(fileaddress))))
        count=count+1
print(count);
import os
from os.path import join, getsize

file_list = []
for root, dirs, files in os.walk('Test'):
    file_list.extend( join(root,f) for f in files )
    #May be *slightly* faster at the expense of a little readability 
    # and a little memory
    # file_list.extend( [ join(root,f) for f in files ] ) 


print (sorted(file_list, key=getsize))

对于dirs同样的事情 - 虽然我不确定目录的“大小”实际上是什么 - 你可能无法用getsize排序(如果可以的话,你将无法获得结果)这很有意义)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM