Mannigfaltigkeit

导航

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编辑  收藏  举报