Python 根据内存的近似值,获得内存大小

在某些场景下,可能不能正确取到内存的实际大小。(注意: 可能会有一些偏差)

使用两种方法取得内存大小值。

# -*- coding: UTF-8 -*-
def mem_computed(mem, size=32):
    """
    * float内存近似值转int *
    :param mem:
    :param size:
    :return int:
    """
    result = mem / size
    return int(round(result)) * size


def mem_computed2(mem):
    """
    取内存近似值
    :return int:
    """
    mem_list = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 768, 1024, 2048, 4096, 6144]
    mem = round(mem)  # 四舍五入
    mem_out = []
    for index, num in enumerate(mem_list):
        s = mem - num
        mem_out.append(abs(s))  # 取到内存绝对值存储到数组
    n = mem_out.index(min(mem_out))  # 取到数组中最的值的下标index
    return mem_list[n]  # 返回数组中最小的值,n为下标


if __name__ == '__main__':
    memory = 1033.65693359375

    print(f'使用浮点数取近似值: {mem_computed(memory)}')
    print(f'使用接近数组中内存大小取值: {mem_computed2(memory)}')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值