首页 > 编程语言 >python3 处理文件大小,自动选择合适单位

python3 处理文件大小,自动选择合适单位

时间:2024-11-12 14:20:51浏览次数:1  
标签:文件大小 format index MB bytes print 合适 python3 size

内容来源于chatgpt

def format_size(bytes):
    """
    将字节大小转换为适当的单位(KB, MB, GB等),支持负数。

    :param bytes: 原始字节大小,可以为负数
    :return: 字符串,格式化后的大小和单位
    """
    # 定义单位和阈值
    units = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]
    
    # 记录负号
    sign = "-" if bytes < 0 else ""
    
    # 转为正数进行计算
    size = abs(bytes)
    index = 0

    # 每次除以1024,直到大小合适或达到最大单位
    while size >= 1024 and index < len(units) - 1:
        size /= 1024.0
        index += 1

    # 格式化输出,保留两位小数,并加上负号(如有)
    return f"{sign}{size:.2f} {units[index]}"

# 示例使用
print(format_size(123456789))   # 输出: 117.74 MB
print(format_size(-1024))       # 输出: -1.00 KB
print(format_size(1048576))     # 输出: 1.00 MB
print(format_size(-987654321))  # 输出: -941.90 MB

标签:文件大小,format,index,MB,bytes,print,合适,python3,size
From: https://www.cnblogs.com/brian-sun/p/18541807

相关文章

  • 缓存之美——如何选择合适的本地缓存?
    作者:京东保险郭盼1、简介小编最近在使用系统的时候,发现尽管应用已经使用了redis缓存提高查询效率,但是仍然有进一步优化的空间,于是想到了比分布式缓存性能更好的本地缓存,因此对领域内常用的本地缓存进行了一番调研,有早期的Guava缓存、在Guava上进一步传承的Caffine以及自称在Ja......
  • 华为OD机试2024年E卷-MVP争夺战[100分]( Java | Python3 | C++ | C语言 | JsNode | Go
    题目描述在星球争霸篮球赛对抗赛中,最大的宇宙战队希望每个人都能拿到MVP,MVP的条件是单场最高分得分获得者。可以并列所以宇宙战队决定在比赛中尽可能让更多队员上场,并且让所有得分的选手得分都相同,然而比赛过程中的每1分钟的得分都只能由某一个人包揽。输入描述输入第一行......
  • 华为OD机试2024年E卷-AI识别面板[100分]( Java | Python3 | C++ | C语言 | JsNode | Go
    题目描述AI识别到面板上有N(1≤N≤100)个指示灯,灯大小一样,任意两个之间无重叠。由于AI识别误差,每次别到的指示灯位置可能有差异,以4个坐标值描述AI识别的指示灯的大小和位置(左上角x1,y1,右下角x2,y2),请输出先行后列排序的指示灯的编号,排序规则:每次在尚未排序的灯中挑选最高的......
  • Pbootcms上传文件大小限制如何处理
    为了提高PBootCMS上传文件的大小限制,需要修改PHP配置文件 php.ini 以及可能涉及的其他配置文件。以下是详细的步骤:一、修改 php.ini 文件打开 php.ini 文件找到PHP安装目录下的 php.ini 文件。通常位于 /etc/php/7.x/fpm/php.ini 或 /etc/php/7.x/cli/php.ini。......
  • python3.5-IDLE中斐波那契数列程序实现
    斐波那契数列F(n)定义:F(0)=0,F(1)=1,……,F(n)=F(n-2)+F(n-1),其中n≥2(简单总结,从第3个数起,斐波那契数列中每个数都是前两个数之和)代码实现:1)采用迭代方式实现:deffibonacci_iterative(n):ifn<=0:return0elifn==1:return1......
  • 国产化浪潮下,高科技企业如何选择合适的国产ftp软件方案?
    高科技企业在数字化转型和创新发展中,数据资产扮演着越来越重要的角色。在研发过程中产生的实验数据、设计文档、测试结果等,专利、商标、版权之类的创新成果等,随着信息量急剧增加和安全威胁的复杂化,传统的FTP软件已经不能满足这个高端领域的需要了,需要重新寻找国产ftp软件进行替代......
  • PHP框架选择:如何根据项目需求选择最合适的框架PHP框架选择:如何根据项目需求选择最合适
    在开发PHP项目时,框架的选择至关重要。一个合适的PHP框架不仅能提高开发效率,还能增强代码的可维护性和可扩展性。如何根据项目需求选择合适的框架呢?以下是一些关键的考虑因素。项目的规模和复杂度是选择框架时重要的考量之一。如果是一个小型项目,可能不需要一个复杂的框架,像Slim或......
  • APP开发者如何选择合适的聚合平台?
    选择合适的App聚合平台对于开发者而言,无疑是一项具有深远影响的重要决策,其意义之重大,直接关乎着App的收益、用户体验以及市场覆盖的广度与深度。就拿收益这一方面来说,App的收益直接决定了开发者的投入产出比以及后续的发展动力。而聚合平台的选择在其中起着举足轻重的......
  • Linux查看文件大小的命令-续
    几年前,写了Linux中如何查看文件夹的大小这篇文章,这里再做点补充。大家想要了解一个文件是多大,最直观的方式,就是看看Windows告诉咱们某个文件有多大。可以看到,这个文件大小是2.4GB。有了这个信息,再往下去看Linux中的大小就有了准绳。我测试的是一个仅包含一个语料库的压缩包的目录......
  • 在 Windows Server 2025 中,您可以通过 Certutil、PowerShell 和证书管理器工具来进行
    certmgr.msc是Windows操作系统中的一个管理工具,它用于管理和查看证书存储。通过certmgr.msc,用户可以方便地浏览和管理个人证书、受信任的根证书颁发机构(CA)、中间证书颁发机构等不同证书存储区。 1. certmgr.msc 是什么?certmgr.msc是证书管理器(CertificateM......