Python打包一个struct-won';我不接受字符串参数

Python打包一个struct-won';我不接受字符串参数,python,Python,我有一段代码可以生成原始二进制数据包: def sendPacket(self, sendSocket, recvName, recvPort, lostVal, message): packorder = 'iH?' + str(len(message.data)) + 's' print(packorder) raw_msg = pack(packorder, message.num, int(message.chk_sum), bool(message.isLas

我有一段代码可以生成原始二进制数据包:

 def sendPacket(self, sendSocket, recvName, recvPort, lostVal, message):
    packorder = 'iH?' + str(len(message.data)) + 's'
    print(packorder)
    raw_msg = pack(packorder, message.num, int(message.chk_sum), bool(message.isLast), message.data)
    generate = random.randint(0, 10000) #random value to check if packet should be sent
    if(lostVal > generate): 
        sendSocket.sendto(raw_msg, (recvName, recvPort)) #sending packet size to server
当我尝试运行它时,会出现以下错误:

raw_msg = pack(packorder, message.num, int(message.chk_sum),bool(message.isLast), message.data)
error: argument for 's' must be a string
packorder打印为:

iH?1024s
起初,我将packorder中的所有内容都原封不动地保存在文件中,但我认为如果我创建了它自己的变量,它就会改变


packorder是一个字符串,是否需要其他方式来显示值1024?

消息的类型是什么。数据?它是一个字符串列表。使用
帮助(pack)
检查
pack
方法的定义。您将看到s的论点是什么,以及它在您的案例中对应的内容。