为什么只向该文件写入28,672位?

问题描述 投票:0回答:1

我一直在研究一个项目,该项目需要将某种二进制文件编程到AT28C256芯片。除了文件的大小必须为32,768字节(确切)之外,细节并不重要。

我这里有一些“最小问题”代码:

o = open("images.bin", "wb")
c = 0
for i in range(256):
    for j in range(128):
        c += 1
        o.write(chr(0).encode('utf-8'))
print(c)

对我来说,这似乎将32,768个字节写入文件(将i,j拆分为必要的,因为我需要将图像写入设备)为128 * 256 =32768。而c的输出为32768 !

但是它创建的文件长为[[28672个字节!这是十六进制的7000,这一事实并没有让我忽略,但是我不确定为什么会这样。有什么想法吗?

python-3.x binaryfiles file-writing
1个回答
0
投票
您应该调用o.close()刷新写缓冲区并正确关闭文件。
© www.soinside.com 2019 - 2024. All rights reserved.