Python无法使用线程,出现属性错误

0 投票
1 回答
1650 浏览
提问于 2025-04-18 13:22

我正在尝试创建一个对象,这个对象是一个在本地.py文件中定义的类,而这个文件不是我自己写的。我的声明代码是这样的:

GPS_thread = GPS()
GPS_thread.run()

当程序运行到第二行时,它崩溃了,并显示错误信息“AttributeError:_Thread__target”。我对这个错误一点头绪都没有。

我试着在其他论坛上查找类似的问题,发现很多人建议我去找一个叫“threading”的本地文件,因为这个文件可能会遮挡住正确的文件。我找到的只有一个叫threading.pyc的文件,这是threading.py的编译版本,它是在GPS库中被引用的。我把它删掉了,但问题依然存在。

有没有什么建议?

Traceback (most recent call last):
  File "C:\Users\Python\mscript\controlc.py", line 228, in <module>
    main()
  File "C:\Users\Python\mscript\controlc.py", line 140, in main
    GPS_thread.run()
  File "C:\Python27\lib\threading.py", line 767, in run
    del self.__target, self.__args, self.__kwargs
AttributeError: _Thread__target

1 个回答

4

你需要重写的是 run 方法,但不要直接调用它:文档
使用 GPS_thread.start(),这样会在后台启动一个新线程,并调用 GPS_thread.run文档

撰写回答