#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
#------------------------------------------------------------------------------
# file: 统计文件大小.py
# Date: 2019/11/19
#------------------------------------------------------------------------------
"""
import os
def formatsize(bytes):
try:
bytes = float(bytes) # 默认字节
kb = bytes / 1024 # 换算KB
except:
print("字节格式有误")
return "Error"
if kb >= 1024:
M = kb / 1024 # KB换成M
if M >= 1024:
G = M / 1024
return "%fG" % G
else:
return "%fM" % M
else:
return "%fkb" % kb
# 获取文件大小
def Getfile(path):
try:
size = os.path.getsize(path)
return formatsize(size)
except:
print("获取文件大小错误")
# 获取目录总大小
def Getdir(filepath): # 定义函数
sum = 0 # 初始化文件大小
try:
filename = os.walk(filepath) # 获取文件夹目录
for root, dirs, files in filename: # 循环遍历文件夹目录下的文件
for fle in files:
filesdirs = os.path.join(root, fle) # 必须要这一步,不然获取的文件没有找到路径.
filesize = os.path.getsize(filesdirs) # 统计循环出来的文件大小
sum += filesize # 所有文件加起来总和
return formatsize(sum) # 调用上面formatsize的算法.
except:
print("获取文件夹大小错误")
if __name__ == "__main__":
print("文件大小:" + Getfile("D:\电影\[电影天堂-www.dy2018.net].夺宝联盟.720p.BD中文字幕.rmvb"))
print("目录大小: " + Getdir("D:\电影"))
Python计算文件大小
于 2022-02-14 13:09:58 首次发布