@for ever 2012-06-25

在python32版本下面,下面的代码:

[python] view plaincopy

msg = pack(">H%ds" % len(reason), code, reason)

执行后出现如下的错误:

[plain] view plaincopy

struct.error: argument for 's' must be a bytes object

做如下修改,错误解决:

[python] view plaincopy

msg = pack(">H%ds" % len(reason), code, reason.encode('utf-8'))

[python] view plaincopy

关于struct.pack函数,参数个数是无限的。第一个参数定义打包格式,

剩余的所有参数都是要打包的内容。

第一个格式参数具体写法如下:

Format c Type

Python Note

x pad byte no value

c char string of length 1

b signedchar integer

B unsignedchar

integer

? _Bool bool (1)

h short integer

H unsignedshort

integer

i int integer

I unsignedint

integer or long

l long integer

L unsignedlong

long

q longlong long (2)

Q unsignedlonglong

long (2)

f float float

d double float

s char[] string

p char[] string

P void* long

此外,还包含相应的大/小端设置(如果忽略该设置,默认

@ native native

= native standard

< little-endian

standard

> big-endian standard

! network (= big-endian)

standard

@forandever 2012-6-25

3

down vote

favorite

I am attempting to execute the code:

values = (1, 'ab', 2.7)

s.struct.Struct('I 2s f')

packed = s.pack(*values)

But I keep getting the error:

Traceback (most recent call last):

File "", line 1, in

struct.error: argument for 's' must be a bytes object

Why? How do I fix this?

With Python 3, 'ab' isn't a bytes object, what was called a str on Python 2, it's unicode. You need to use:

values = (1, b'ab', 2.7)

which tells Python that 'ab' is a byte literal. See PEP 3112 for more info.

shareimprove this answer

answered Apr 10 '12 at 3:09

agf

55.1k11123145

2

This answer should be marked as THE answer to the question. –  rbaleksandar Sep 29 '13 at 11:33

python struct 45s_python32版本,struct.error: argument for 's' must be a bytes object - 小众知识...相关推荐

  1. python3 struct.pack方法报错argument for 's' must be a bytes object

    在python3下使用struct模块代码 fileHead = struct.pack('128sl', os.path.basename(filePath),os.stat(filePath).s ...

  2. python gui Gooey 报错 error: argument command: invalid choice:

    运行程序时报错: usage: main_gui_batcmm.py [-h] {Run Reset} ... main_gui_batcmm.py: error: argument command: ...

  3. ERROR 程序出错,错误原因:'bytes' object has no attribute 'read'

    使用json解析数据时,通常遇到这里就会出现问题'bytes' object has no attribute 'read',这是由于使用的json内置函数不同,一个是load另一个是loads. i ...

  4. python struct pack string_python struct pack fmt格式

    Python使用struct处理二进制 有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c ...

  5. python struct.unpack和struct.pack详解

    Python相关文档链接: https://docs.python.org/3/library/struct.html#format-characters 简介 struct模块用于将外部压缩的格式字 ...

  6. 问题记录:multiple definition of `xxxx` 问题解决 struct定义类的error:“unknown type name“

    一.multiple definition of xxxx 问题解决 问题背景 我在一个头文件里面定义了一个变量,并赋予初值,然后再两个.c 文件里引入了这个头文件,结果就报错 multiple de ...

  7. [Python] ERROR:argument of type ‘datetime.date‘ is not iterable

    项目场景: create_date = date.today() tbitem['date'] = create_date 问题描述: 当将 date.today() 直接赋值给 字典时报错 ERRO ...

  8. 目标检测实战:4种YOLO目标检测的C++和Python两种版本实现

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨nihate 审稿丨邓富城 编辑丨极市平台 导读 本文作者使用C++编写一套基于OpenCV的Y ...

  9. 【深度学习】目标检测实战:4种YOLO目标检测的C++和Python两种版本实现

    作者丨nihate 审稿丨邓富城 编辑丨极市平台 导读 本文作者使用C++编写一套基于OpenCV的YOLO目标检测,包含了经典的YOLOv3,YOLOv4,Yolo-Fastest和YOLObile ...

  10. Python 2.7版本与3.6的不同

    许多Python初学者都会问:我应该学习哪个版本的Python.对于这个问题,我的回答通常是"先选择一个最适合你的Python教程,教程中使用哪个版本的Python,你就用那个版本.等学得差 ...

最新文章

  1. Linux nc命令
  2. 逐步优化求解最大子序列和
  3. redis相对于mysql有什么劣势
  4. 【图像处理基础】基于matlab GUI图像处理(反色+亮度+二值化+空间肤色检测)【含Matlab源码 1008期】
  5. linux小记 查看dd进度,linux小记:查看dd进度
  6. 2019届高三理科数学选择填空整理
  7. 计算机学院新增电子信息!齐鲁工业大学
  8. Linux操作系统之安装Linux虚拟机
  9. IDEA SpringBoot项目Docker一键部署
  10. 【免费领取】趣味测试小程序源码/内置超多趣味测评+可插入流量主广告位微信小程序源码
  11. 数据库原理—数据查询
  12. 可优化-PAT (Basic Level) Practice Python解法 1026 程序运行时间(时间进位/四舍五入Tobe解决)
  13. oppoR11S安装应用一直失败
  14. Mac下独立设置触控板和鼠标的滚动方向
  15. IC失效分析芯片测试
  16. 一次性弄清 高通骁龙芯片最新产品线简介
  17. android电视直播卡顿,电视盒子看直播卡顿原因分析以及教你解决方法!
  18. Springboot项目使用jdk17启动报错:module java.base does not “opens java.lang.invoke“
  19. 红米3s微信无法连接到服务器,红米手机安装微信一直失败为什么?
  20. ROS之Turtlebot 构图,导航仿真

热门文章

  1. php 判断来源 微信客户端_常见WebShell客户端的流量特征及检测思路
  2. 【数学建模】基于matlab模拟十字路口车辆通行【含Matlab源码 1106期】
  3. 【人脸识别】基于matlab GUI Gabor+SVM比较PCA+SVM人脸识别【含Matlab源码 685期】
  4. 遗传算法是一种进化算法_一种算法的少量更改可以减少种族主义的借贷
  5. mysql 行转列 列转行_行(列)转列(行)实例分享 - 正则表达式提高效率
  6. 两转变两服务器,两大服变鬼两老服制霸,《魔兽世界》怀旧免转结束后的服务器调查...
  7. arduino cc3000 php,【arduino】新手求助, 想问一下关於CC3000设置的问题
  8. docker mysql 备份_docker mysql数据备份xtrabackup
  9. 爬虫python漏洞群_『Python』 爬取 WooYun 论坛所有漏洞条目的相关信息
  10. 弱网环境搭建方案选型