Python36 二进制文件读写问题
在Python36中写如下代码:
__author__ = '-------'
#-*- coding: utf-8 -*-
import struct fo = open("myfile.txt","wb") a="hello" b="world!" c=2 d=45.123 bytes=struct.pack('5s6sif',a,b,c,d) fo.write(bytes) fo.close()
运行,出现错误:
Traceback (most recent call last): File "~~~.py", line 115, in <module> bytes=struct.pack('5s6sif',a,b,c,d) struct.error: argument for 's' must be a bytes object
解决方法,将出错语句改正如下:
bytes=struct.pack('5s6sif',a.encode('utf-8'),b.encode('utf-8'),c,d)
posted on 2017-04-12 15:08 Mannigfaltigkeit 阅读(181) 评论(0) 编辑 收藏 举报