您正试图添加到类中 QueueReport 而不是类的实例 t1 . 在类上调用函数时,没有 self 所以它对待 "mainreport" 作为 自己 和 "user" 作为 report .
QueueReport
t1
self
"mainreport"
自己
"user"
report
你想做的是 t1.add("mainreport", "user") .
t1.add("mainreport", "user")
皱纹是,如果 run 是一个无限循环,它将阻止执行和 t1.add 永远不会发生。
run
t1.add
你能做的就是为 t1.run .
t1.run
from threading import Thread thread = Thread(target=t1.run) thread.start() t1.add("mainreport", "user")
编辑:我真傻,我没看到你已经在用线程了。
这对于匹配另一个系统所需的长度很有用。
例如。在我的工作中,有一个服务器发送固定大小的头并期望固定大小的消息。这保证了,假设前20个字节是一个头,字节0-8是消息大小。
不是真的 问题 垫子是什么类型的。基本上是垃圾数据。无符号字符0是一个不错的选择,也是struct.pack使用的字符。