首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"import fuzzywuzzy“会导致错误,而"from fuzzywuzzy import fuzz”则不会

"import fuzzywuzzy“会导致错误,而"from fuzzywuzzy import fuzz”则不会
EN

Stack Overflow用户
提问于 2020-09-01 11:31:35
回答 1查看 144关注 0票数 0

运行以下代码时,我收到一条错误消息。

代码语言:javascript
复制
import fuzzywuzzy
print(fuzzywuzzy.fuzz.ratio('about', 'doubt'))

错误消息:

代码语言:javascript
复制
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'

然而,下面的代码运行得很完美。

代码语言:javascript
复制
from fuzzywuzzy import fuzz
print(fuzz.ratio('about', 'doubt'))

有人能帮我解决这个问题吗?我真的很感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-01 12:40:32

这个问题的答案取决于你的包是如何布局的。我假设你的目录树看起来像这样:

代码语言:javascript
复制
fuzzywuzzy/
           __init__.py
           fuzz.py

在这种情况下,很可能没有在fuzzywuzzy__init__.py中导入fuzz。当导入模块的顶层时,python只允许访问导入到该模块中的那些内容。子模块需要额外的导入,如您在示例中所见。

如果您希望第一次导入生效,那么您需要将import fuzz添加到fuzzywuzzy__init__.py文件中,否则您将不得不使用from ... import。您也可以使用import fuzzywuzzy.fuzz

但是,我建议不要将这些导入添加到__init__.py中,因为这会使您的代码不那么显式,这意味着新阅读代码的人将不得不查看另一个文件,以了解从何处导入函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63680964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档