获取当前文件夹大小及其子文件夹大小
代码file_size.py:
import os
from os.path import join, getsize
file_path = input("请输入查询的文件夹路径:")
os.chdir(file_path) # 切换操作路径
print(os.path.basename(file_path)) # 获取当前文件名
# print(os.listdir()) # os.listdir()函数得到的是仅当前路径下的文件名
def getdirsize(dir):
size = 0
for root, dirs, files in os.walk(dir):
size += sum([getsize(join(root, name)) for name in files])
return size
if __name__ == '__main__':
with open("file_size.txt", "w", encoding='utf-8') as f:
size_num = 0
for i in os.listdir():
size = getdirsize('{}/{}'.format(file_path,i))
size_num += size
if size/1024/1024 < 1024:
f.write("{:20}: \t{:.3f}MB".format(i, size / 1024 / 1024))
f.write('\n')
print("{:20}: \t{:.3f}MB".format(i, size / 1024 / 1024))
else:
f.write("{:20}: \t{:.3f}G".format(i, size / 1024 / 1024 / 1024))
f.write('\n')
print("{:20}: \t{:.3f}G".format(i, size / 1024 / 1024 / 1024))
print('{}文件夹下的大小:{:.2f}G'.format(os.path.basename(file_path),size_num / 1024 / 1024 / 1024))
视图: