python获取当前文件夹及其子文件夹大小

这段代码演示了如何使用Python计算指定文件夹及其所有子文件夹的大小。用户输入文件夹路径后,脚本会切换到该路径,遍历每个子目录,累加文件大小,并将结果以MB或GB的形式写入到file_size.txt文件中。输出还包含了总大小以GB为单位。
摘要由CSDN通过智能技术生成

获取当前文件夹大小及其子文件夹大小
代码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))

视图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值