python - 为什么我只向该文件写入 28,672 位?
问题描述
我一直在做一个项目,需要将某种二进制文件编程到 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 十六进制的事实并没有让我忽略,但我不确定为什么会这样。有任何想法吗?
解决方案
您应该调用o.close()
以刷新写入缓冲区并正确关闭文件。
推荐阅读
- linux - Apache 服务器上的 403 错误
- c# - PInvokeStackImbalance - 当我在 C# 中调用 delphi 函数时
- security - Identity Server 4 asp.net 2.1 - IProfileService 或替代
- python - 如何在 mogodb 中查询一个纪元时间戳的日期
- c# - 导航视图不会打开不同的表单
- html - 链接在 Firefox 中中断但在 Chrome 中没有
- php - 我的函数无法将数据插入数据库
- react-native - 连接域和应用程序逻辑以在 UI 中呈现实体
- python - opencv - 如何在没有比例的情况下进行模板匹配?
- java - 使用嵌套的 while 循环添加到 ArrayList 时出现 IndexOutOfBoundsException