如何解决“ struct.error:char格式需要长度为1的字节对象”

时间:2019-04-29 13:56:51

标签: python-3.6

我正在尝试使用pyvisa库将配置写入测试设备。当我尝试通过该命令发送命令时,从用于与设备通信的实用工具中收到以下错误消息。

“ struct.error:char格式需要一个长度为1的字节对象”

我已经找到引发错误的代码,并且能够使用下面包含的小代码片段仅重现错误。

iter = b'<setup pro'
fullfmt = '<10c'
header = b'#510'
result = header + struct.pack(fullfmt, *iter)

执行此操作时,我希望得到一个包含

的压缩字节结构
  

b'#510 <10c

但是我得到以下信息:

  

回溯(最近通话最近):    文件“ /usr/lib/python3.6/code.py”,第91行,在运行代码中      exec(代码,self.locals)    文件“”,第1行,位于   struct.error:char格式需要一个长度为1的字节对象

所以他们我决定也许我的格式是错误的,应该是一个's'而不是'c',所以我通过将fullfmt从'<10c'更改为'< 10s”,然后显示以下错误消息。

  

回溯(最近通话最近):    文件“ /usr/lib/python3.6/code.py”,第91行,在运行代码中      exec(代码,self.locals)    文件“”,第1行,位于   struct.error:预期包装1件物品(10件)

我有点茫然。任何帮助将不胜感激。

0 个答案:

没有答案