4

すべてのサブディレクトリとファイルのリストを、サイズの昇順でサイズ順に取得するにはどうすればよいですか?

以下のコードは、すべてのファイルのリストを取得しますが、サイズに従ってソートされていません。助けてください。

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);
4

1 に答える 1

5
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(できたとしても、次のような結果は得られません意味あり)。

于 2012-11-08T21:56:17.883 に答える