我有以下代码:
corpus= CategorizedPlaintextCorpusReader(loc,'(?!\.svn).*\.txt', cat_pattern=r'(Shakespeare|Milton)/.*')
cfd=nltk.ConditionalFreqDist ((genre,word)
for genre in corpus.categories()
for word in corpus.words(categories = genre))
genres=['Shakespeare','Milton']
pronouns=['I','you','he','she', 'it','we','they']
cfd.tabulate (conditions=genres,samples=pronouns)
现在,由于一些强大的特殊原因,我收到以下错误: “category = re.match(self._pattern,file_id).group(1) AttributeError:'NoneType'对象没有属性'group'“
任何人都知道那是什么意思?
答案 0 :(得分:1)
category = re.match(self._pattern, file_id).group(1)
AttributeError: 'NoneType' object has no attribute 'group'
此错误消息告诉您re.match
已返回None
。换句话说,没有匹配。当你寻找组(1)时,它会抛出错误。
在前进方面你有几个选择:
简化您的匹配命令。
要防守。首先使用if
检查是否有match
然后查找其组。
通常,当您遇到这样的错误时,请不断简化代码以查看导致问题的原因。 Python可以用非常简洁的方式编写,但我发现在学习时更好地描述它。
此SO question应该为您提供更多选择。
希望能帮助你前进。