我必须获取所有文件的列表,以及每个文件的大小和文件夹的总大小。如果目录的根目录包含“ A”,则在A下,我们有B,C,D子目录,在这些子目录下有一些文件,在这些文件下又有文件夹。
我使用下面的代码使用python来获取大小。我能够得到文件夹和子文件夹的每个文件的大小,最后得到根文件夹的总大小。但是我无法获得根目录总大小之前的子文件夹总大小。
有人可以帮助我解决这个问题吗?
import os
folder_path = "/Apath/"
def GetTotalFolderSize(path):
folder_size = 0
file_size=0
for (path, dirs, files) in os.walk(path):
for file in files:
path1=os.path.join(path, file)
file_size = os.path.getsize(os.path.join(path, file))
print("filename: "+path1+" , "+ "size: ",file_size)
filename = os.path.join(path, file)
folder_size += os.path.getsize(filename)
return folder_size
Total_size=GetTotalFolderSize(folder_path)
print("Totalsize of folder:"+folder_path,Total_size)
得到的输出为:B1文件名大小= 120,B2文件名大小= 150,c1文件名大小= 100和...,总大小= 370