Python读写二进制文件

查了好多资料都是说打开或写入文件是加个“b”就可以了,比如“rb”,“ab”,“wb”,但是没用呀!一直都是报错说数据类型应该是bytes类型的,究竟该怎样才能读写二进制文件!有知道的小伙伴帮帮忙呗!

编辑器默认会尝试用string 读取。保存在文件的都是二进制。只能说明你的二进制数据就是字符串转化的。打开记事本会自动显示字符串。

with open('1.txt','ab') as f:
    f.write('123'.encode())
```python

即使你这样写入到文件。用记事本等编辑器打开依旧是123。 如果不想写入明文。建议使用加密算法。读取时进行解码

```

导入

struct模块了没?

img

题主你好,麻烦提供具体的文件格式,否则没办法回答。

至于为何无法读取的二进制文件,有可能存在文件被加密的情况,所以读取不了正确的数据。