导入模块的返回值不起作用

时间:2011-06-16 22:48:39

标签: python import module return-value

我有一个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 个答案:

答案 0 :(得分:3)

这是问题或程序中的拼写错误:login_reponse!= login_response

如果我更正了这个错误,脚本会在我的机器上运行完美。 (您可能希望使用class UControl(object):代替class UControl():)。

错误未打印出来的事实表明您的代码甚至没有运行。你是怎么调用它的?

此外,第二个文件实际上是一个模块(作为第一个文件),而不是您在问题中陈述的类。

答案 1 :(得分:1)

找到遇到类似问题的其他人。我刚刚删除了文件,创建了一个新文件,粘贴在我的旧代码中并编译/运行它并且工作正常。 Eclipse在我身上耍花招。感谢您的观看,但现在看来已经解决了。