运行以下代码时,我收到一条错误消息。
import fuzzywuzzy
print(fuzzywuzzy.fuzz.ratio('about', 'doubt'))错误消息:
Traceback (most recent call last):
File "C:/Users/vincent/Documents/PythonScripts/test2.py", line 2, in <module>
print(fuzzywuzzy.fuzz.ratio('about', 'doubt'))
AttributeError: module 'fuzzywuzzy' has no attribute 'fuzz'然而,下面的代码运行得很完美。
from fuzzywuzzy import fuzz
print(fuzz.ratio('about', 'doubt'))有人能帮我解决这个问题吗?我真的很感激。
发布于 2020-09-01 12:40:32
这个问题的答案取决于你的包是如何布局的。我假设你的目录树看起来像这样:
fuzzywuzzy/
__init__.py
fuzz.py在这种情况下,很可能没有在fuzzywuzzy的__init__.py中导入fuzz。当导入模块的顶层时,python只允许访问导入到该模块中的那些内容。子模块需要额外的导入,如您在示例中所见。
如果您希望第一次导入生效,那么您需要将import fuzz添加到fuzzywuzzy的__init__.py文件中,否则您将不得不使用from ... import。您也可以使用import fuzzywuzzy.fuzz。
但是,我建议不要将这些导入添加到__init__.py中,因为这会使您的代码不那么显式,这意味着新阅读代码的人将不得不查看另一个文件,以了解从何处导入函数。
https://stackoverflow.com/questions/63680964
复制相似问题