• python 实现 byte 可视化转换


    python 实现 byte 可视化转换

    制作命令行工具过程中,因需要展示文件大小,所以造了个轮子,实现了以下byte可视化转换。

    如果哪位仁兄知道有现成的轮子,劳烦留言告知一声。

    以下是代码实现。

    def unit_conversion(size):
        ratio = 2 ** 10
        units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
        level = 0
        size = int(size)
        if size < 0:
            try:
                raise ValueError
            except ValueError as e:
                print('Please enter the correct parameters', repr(e))
        for unit in units:
            if size > ratio:
                size = size / ratio
                level += 1
                continue
            else:
                size = '%.1f %s' % (size, unit)
                return size
    
        size = '这个大小多少有点过分'
        return size
    
    
    # 以下是测试部分
    test0 = unit_conversion(230)
    test1 = unit_conversion(1500)
    test2 = unit_conversion(2823230)
    test3 = unit_conversion(8231283128)
    test4 = unit_conversion(10239841023123)
    test5 = unit_conversion(502938748172301283017)
    test6 = unit_conversion(923619287389872013891231)
    test7 = unit_conversion(72379812387401293812847821631246)
    
    print(f'test0 : {test0}')
    print(f'test1 : {test1}')
    print(f'test2 : {test2}')
    print(f'test3 : {test3}')
    print(f'test4 : {test4}')
    print(f'test5 : {test5}')
    print(f'test6 : {test6}')
    print(f'test7 : {test7}')
    
    test0 : 230.0 B
    test1 : 1.5 KB
    test2 : 2.7 MB
    test3 : 7.7 GB
    test4 : 9.3 TB
    test5 : 436.2 EB
    test6 : 782.3 ZB
    test7 : 这个大小多少有点过分
    
  • 相关阅读:
    单片机学习01__跑起你的流水灯
    python2与python3共存
    rpi-kali 搭建网络靶场
    P3388 【模板】割点(割顶)
    P3387 【模板】缩点
    P1069 细胞分裂
    The Unique MST[不严格的次小生成树]
    P3369 【模板】普通平衡树
    Netty的线程模型可不是Reactor这么简单
    SpringBoot+Mybatis+MySQL实现读写分离
  • 原文地址:https://www.cnblogs.com/shu-sheng/p/13646858.html
Copyright © 2020-2023  润新知