python os获取文件大小_使用Python获取文件夹大小与占用空间大小

文件大小与占用空间是不同的,通常占用空间是真实大小的1.1-1.4倍吧;html

python中检测文件大小函数是:python

os.path.getsize(your_dir_path)

可是这种方法没法获取文件占用空间,尤为是包含大量小文件时,相差很大;正则表达式

在Linux中,使用shell结合正则表达式获取文件夹占用大小,示例代码以下:shell

__author__ = 'weiran'

import os

import re

# 待检测文件大小范围必须在 1MB 以上

# 使用 du -sh 命令,以免占用大小与真实大小不一样

# 输入:待检测文件绝对路径

# 返回:该文件夹占用空间大小,单位:GB,保留2位小数

# weiran 2018-7-24

def get_doc_usage_size_by_shell(doc_path):

response = os.popen(f'du -sh {doc_path}')

str_size = response.read().split()[0]

f_size = float(re.findall(r'[.\d]+', str_size)[0])

size_unit = re.findall(r'[A-Z]', str_size)[0]

if size_unit == 'M':

f_size = round(f_size/1024, 2)

if size_unit == 'T':

f_size = round(f_size*1024, 2)

return f_size

# 获取指定路径的文件夹大小(单位:GB)

def get_doc_real_size(p_doc):

size = 0.0

for root, dirs, files in os.walk(p_doc):

size += sum([os.path.getsize(os.path.join(root, file)) for file in files])

size = round(size/1024/1024/1024, 2)

return size

环境:Python3.6.3函数

但仍然不知道Python自带的方法找到文件的占用大小,有知道的小伙伴请指点一二~code

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值