我正在尝试创建一个tinter GUI,其中我使用六个导入的自编写模块。我将两个模块链接到一个按钮,并将每个模块的输出组合到一个标签字段的输出中。除了他们使用的数据源之外,这两个模块是相同的(不好的做法,我知道)。输出由module_name.function_def()调用,但对于一个模块,我继续获取:
AttributeError: 'module' object has no attribute 'function_def'
如果我打开模块并加载到IDLE,它会打开tinter GUI(不知道为什么),然后GUI就像它应该的那样运行,即单击按钮会在标签字段中显示预期的结果 我应该如何调查这个问题?
答案 0 :(得分:1)
调试的第一个规则是假设错误消息说实话。如果你得到'module' object has no attribute 'function_def'
,你必须相信这是一个真实的陈述。这意味着a)模块真的没有那个属性,或者b)module
不是你想象的那样。
简单的第一步是在调用module
之前添加一个打印语句以打印出module.function_def()
的内容。你可能会对它的回归感到惊讶。