Python2至Python3的bin文件操作变化
程序员文章站
2022-05-19 13:19:00
...
Python3有个很大的变化就是严格区分bytes类型与string类型,导致之前python2.7操作文件的小脚本都不能用了,就二进制bin文件常用操作如下:
以下说明均是以‘wb’或者‘rb’格式打开bin文件:
1、bin文件读取的内容为bytes类型,bytes转换为单个字符处理时,可以这样做:
for c in open_file.read():
#process c
这样c便是数值型了
2、bin文件内容为纯可打印字符时,想读取字符串时,可以这样处理:
data_string = (open_file.read()).decode("utf-8")
这样data_string便是字符串类型了
3、如果想要向文件写入0x00,0x20,0x50这样的比特流数据时,可以这样做:
output_file.write(bytes([0x0,0x20,0x50]))
4、如果想要向文件写"hello world!\r\n"这样的字符串流时,可以这样做:
s = "hello world!\r\n"
output_file.write(s.encode(encoding='UTF-8'))