📅  最后修改于: 2023-12-03 14:46:18.007000             🧑  作者: Mango
在开发中经常需要获取文件的大小,但是通常情况下,文件大小是以字节为单位来表示的,这对我们来说不太直观。因此,需要将文件大小转换为人类可读的形式。
本文将介绍如何使用 Python 获取人类可读的文件大小。
以下是一个简单的函数,用于将字节数转换为人类可读的形式:
import math
def human_size(size_bytes):
"""
将字节数转换为人类可读的形式
:param size_bytes: 文件大小(字节)
:return: 人类可读的文件大小
"""
if size_bytes == 0:
return "0B"
size_name = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]
i = int(math.floor(math.log(size_bytes, 1024)))
p = math.pow(1024, i)
s = round(size_bytes / p, 2)
return "%s %s" % (s, size_name[i])
该函数首先检查文件的大小是否为零,如果是,则返回“0B”。否则,它将文件大小转换为人类可读的形式,并返回一个字符串。
该函数使用 Python 的 math 库来计算以 1024 为基础的对数,然后使用 round 函数对文件大小进行四舍五入。
使用该函数非常简单。只需传入文件大小(字节)的整数值,即可获得人类可读的文件大小。
以下是一个简单的示例:
file_size = 1234567890
print(human_size(file_size))
输出结果为:
1.15 GB
现在,你已经了解了如何使用 Python 将文件大小转换为人类可读的形式。该函数非常简单,但它可以节省你很多时间,并使计算得到的结果更加可读。