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

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的关系?@_@,不知道,各种可能,感谢朋友关注!

阅读 476
评论 更新于 2018-12-01
    1 个回答
    Yujiaao
    • 10.3k

    你需要把构造函数里的

     self.stopwords = self.init_utils(utils_data)

    改成

     self.stopwords = self._init_utils(utils_data)
    评论 赞赏 2018-12-01
      撰写回答

      登录后参与交流、获取后续更新提醒