在 int 上执行 struct.pack 时出现 TypeError?

TypeError when doing struct.pack on an int?

我正在尝试实施 Server List Ping in Python. The specific packet structures are at the above link, and the types and generic packet structure are here. My code is here。但是当我尝试 运行 该代码时,它给了我这个错误:

Traceback (most recent call last):
  File "ddos.py", line 6, in <module>
    handshakeBytes.append(pack('<i', 0x00))
TypeError: an integer is required

我也试过用int()包围0x00,但没有用。

来自页面:https://docs.python.org/2/library/struct.html
struct.pack(fmt, v1, v2, ...) - Return 包含值 v1, v2, ...

的字符串

所以你试图将字符串放入字节数组中,这显然是行不通的。将字节放入数组而不使用 pack 函数或使用:

handshakeBytes += pack(whatever)

符号。