python package包问题,utils文件中缺失函数

发布于 2022-09-11 15:50:38 字数 887 浏览 22 评论 0

python package包引用问题,utils文件中缺失函数

AttributeError: 'Utils' object has no attribute 'init_utils'

原文在这里,该怎样使用这个函数? 自己再定义一个?还是有什么技巧?不是self开头的应该会自动执行么?因为对包使用很陌生,请指教

class Utils(object):
    def __init__(self, utils_data=None):
        self.stopwords = self.init_utils(utils_data)

    def _init_utils(self, utils_data):
        for wd in utils_data["user_dict"]:
            jieba.add_word(wd)
        return set(utils_data["stopwords"])

    def _token_filter(self, token):  # 去停用词; 去数字; 去单字
        return token not in self.stopwords and not token.isdigit() and len(token) >= 2

    def cut(self, text):
        return list(filter(self._token_filter, list(jieba.cut(text.lower()))))  # 

事后总结:

我觉得问题可能在于外部调用时候,赋值把list和dictionary搞混了,所以我之前也去除过_,并不成功,但理顺代码后,就可以成功。又或者是中间我顺便升级了下ubuntu的关系?@_@,不知道,各种可能,感谢朋友关注!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半暖夏伤 2022-09-18 15:50:38

你需要把构造函数里的

 self.stopwords = self.init_utils(utils_data)

改成

 self.stopwords = self._init_utils(utils_data)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文