“模块”对象在带有包的 Python 中不可调用

问题描述

我在我的项目中创建了一个名为 text_analysis, 的 Python 包,并在一个TextAnalysis 中创建了一个方法 search_records

enter image description here

当我在 main.py 中编写测试时,我可以导入 TextAnalysis,但是 ojbect(使用 IDE)没有显示方法 search_records。如果我编写 test.search_records(barcode),我会收到以下错误消息:

Traceback (most recent call last):
  File "C:..../main.py",line 19,in <module>
    analysys = TextAnalysis(bib)
TypeError: 'module' object is not callable

enter image description here

解决方法

确保您在 TextAnalysis.py 中定义了一个包含您要调用的模块的类。如果您更愿意在 TextAnalysis.py 中调用没有类结构的单个模块,请将它们称为 TextAnalysis.module_name()。

这是一个简单的例子:Class vs Module structure