f = open("字节文件.txt", mode="w+b") # 模式中带有b 说明以bytes类型对文件进行操作 因此不再需要编码来解读此文件 即encoding="utf-8" f.write("中国CHINA".encode("utf-8")) f.seek(0) # 将文件指针移到首部 以byte字节为单位进行移动 print("文件内容打印:", f.read()) # b'\xe4\xb8\xad\xe5\x9b\xbd' f.seek(3) # 再次将文件指针由尾部 向前移动 移动到距离起始首位3个字节 print("部分内容打印:", f.read()) # b'\xe5\x9b\xbd' f.seek(3) # 再次将文件指针指定位置 b = f.read() # 变量b接收内容为bytes类型 其内容已经是被utf-8编码过的 print("编码转换后打印:", b.decode("utf-8")) f.close() ''' 文件内容打印: b'\xe4\xb8\xad\xe5\x9b\xbdCHINA' 部分内容打印: b'\xe5\x9b\xbdCHINA' 编码转换后打印: 国CHINA ''' print("-------------------------------------") f = open("字节文件.txt", mode="r+b") print(f.tell()) f.write(b'china') print(f.tell()) print("写后 所能见:", f.read()) f.seek(0) print("文件内容打印:", f.read()) f.close() ''' 0 5 写后 所能见: b'\xbdCHINA' 文件内容打印: b'china\xbdCHINA' '''