我正在尝试使用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件)
我有点茫然。任何帮助将不胜感激。