NameError (глобальное имя ... не определено) при использовании reload () - PullRequest
0 голосов
/ 25 мая 2018

К сожалению, я получаю NameError при перезагрузке модуля в Python 2.7.

from PyQt4 import QtCore, QtGui
class MyQThread(QtCore.QThread):
    import foo
    def __init__(self, parent=None):
        super(MyQThread, self).__init__(parent)

    def run(self):
        reload(foo)
        print("Reloaded")
        #...do something

И когда я использую

thread = MyQThread()
thread.start()

, я получаю это в оболочке:

NameError: глобальное имя 'foo' не определено

Любой совет?

1 Ответ

0 голосов
/ 25 мая 2018

Оператор import является типом присваивания.Выполнив его внутри оператора class, вы определяете атрибут class с именем foo, который связан с модулем.Вы должны будете использовать reload(MyQThread.foo).

Тем не менее, использование оператора import в определении класса дает мало пользы;просто переместите import в глобальную область.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...