Mannigfaltigkeit

导航

Python36 二进制文件读写问题

在Python36中写如下代码:

1
2
3
4
5
6
7
8
9
__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   Mannigfaltigkeit  阅读(183)  评论(0编辑  收藏  举报

努力加载评论中...
点击右上角即可分享
微信分享提示