查了好多资料都是说打开或写入文件是加个“b”就可以了,比如“rb”,“ab”,“wb”,但是没用呀!一直都是报错说数据类型应该是bytes类型的,究竟该怎样才能读写二进制文件!有知道的小伙伴帮帮忙呗!
编辑器默认会尝试用string 读取。保存在文件的都是二进制。只能说明你的二进制数据就是字符串转化的。打开记事本会自动显示字符串。
with open('1.txt','ab') as f:
f.write('123'.encode())
```python
即使你这样写入到文件。用记事本等编辑器打开依旧是123。 如果不想写入明文。建议使用加密算法。读取时进行解码
```
导入
struct模块了没?
题主你好,麻烦提供具体的文件格式,否则没办法回答。
至于为何无法读取的二进制文件,有可能存在文件被加密的情况,所以读取不了正确的数据。