Возвращаемое значение из импортированного модуля не работает - PullRequest
0 голосов
/ 17 июня 2011

У меня есть файл Python (project_root / usermodule / user_controls.py) только со следующим кодом:

class UControl():
    def login(self):
        return 'John'

И у меня также есть класс (project_root / main_file.py), который импортирует user_controls (файл выше), содержащий только следующий код.

import os
from usermodule import user_controls

if __name__ == '__main__':
    uc = user_controls.UControl()
    login_response = uc.login()
    if login_response == 'John':
        print login_response

Когда я запускаю второй фрагмент кода, он не выдает ошибок, но также не выводит (когда я ищу его для вывода 'John').

Ответы [ 2 ]

3 голосов
/ 17 июня 2011

Это опечатка в вопросе или в вашей программе: login_reponse! = login_response

Если я исправлю эту ошибку, скрипт будет работать без ошибок на моей машине.(Возможно, вы захотите использовать class UControl(object): вместо class UControl():).

Тот факт, что ошибка не распечатывается, предполагает, что ваш код даже не запускается.Как вы вызываете его?

Кроме того, второй файл на самом деле является модулем (как первый), а не классом, как вы указали в своем вопросе.

1 голос
/ 17 июня 2011

Нашел кого-то, у кого была похожая проблема. Я просто удалил файл, создал новый, вставил в мой старый код и скомпилировал / запустил его, и он работал нормально. Затмение играет со мной шутки. Спасибо за просмотр, но теперь эта проблема решена.

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