gpt4 book ai didi

python - 为什么包含 1472 字节文件的变量的字节大小不同

转载 作者:行者123 更新时间:2023-11-30 23:32:01 25 4
gpt4 key购买 nike

如果我有一个文件,比如一个 img,并且我尝试通过生成器一次读取 1 个字节,将文件分成 14xx 字节 block ,并将它们连接到一个变量中,为什么生成的变量不是 14xx 字节?是因为python内部对变量的处理吗?如果是这样,除了让 create_data 函数返回另一个指标之外,还有什么可能的方法来测试我是否确实拥有 14xx 数据?

def split_file(self, filename):
with open(filename, "rb") as f:
while True:
byte = f.read(1)
if not byte:
break
yield(byte)


def create_data(self):
for x in range (1, 1472):
next_byte = split_file.filename

if not next_byte :
break
else:
msg = msg + split_file(self.filename)
return msg

curr_data = self.create_data
while sys.getsizeof(curr_data) == 1472:
# do something with curr_data

提前致谢

最佳答案

您需要 len(),而不是 sys.getsizeof()sys.getsizeof() 包括 Python 对象的开销。您还会注意到它在列表等容器上给出了“奇怪”的行为(即可能不是您所期望的):它计算容器使用的内存,但不计算容器内的对象使用的内存。

关于python - 为什么包含 1472 字节文件的变量的字节大小不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19621409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com