Python 查询文件夹大小,包含里面子文件夹的文件。

#!/usr/local/python37/bin/python3
# coding:utf-8
import os
import sys

try:
    directory = sys.argv[1]                   # 接受用户指定的 目录地址
except IndexError:
    sys.exit("Must provide an argument.")     # 用户必须输入一个参数(地址)

dir_size = 0                                  # 初始化 目录大小
fsizedicr = {'Bytes': 1,
             'Kilobytes': float(1) / 1024,
             'Megabytes': float(1) / (1024 * 1024),
             'Gigabytes': float(1) / (1024 * 1024 * 1024)}

for (path,dirs,files) in os.walk(directory):  # os.walk 查一下就明白了<generator>
    for file in files:
        filename = os.path.join(path,file)
        dir_size += os.path.getsize(filename)

# 计算大小
fsizeList = [str(round(fsizedicr[key] * dir_size, 2)) + " " + key for key in fsizedicr]

if dir_size == 0:
    print ("File Empty")                      # 文件夹为空/指定文件大小为0
else:
    for units in sorted(fsizeList)[::-1]:     # 上面遍历字典生成的列表,
  											  # 字典无序,排序。
    # for units in fsizeList:
        print ("Folder Size: " + units)

执行 python xxx.py /root/目标文件路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值