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

from socket import *
import struct

udpSocket = socket(AF_INET, SOCK_DGRAM)
destAddr = (“192.168.31.45”, 69)
cmd_buf = struct.pack(“!H8sb5sb”, 1, b”test.jpg”, 0, b”octet”, 0)

查看Python 3.0的帮助手册可以看到,格式化字符串的值在Python的类型是bytes类型。所以我们在bytes类型前面加上一个b就可以解决这个问题了。

print(cmd_buf)
udpSocket.sendto(cmd_buf, destAddr)

猜你喜欢

转载自blog.csdn.net/vaemusicsky/article/details/79463865
今日推荐