1

私は次のコードを持っていました:

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'がありません"

誰もがそれが何であるかについての考えを持っていますか?

4

1 に答える 1

1
category = re.match(self._pattern, file_id).group(1) 
AttributeError: 'NoneType' object has no attribute 'group'

このエラーメッセージは、がre.match返されたことを示していますNone。言い換えれば、一致するものはありませんでした。group(1)を探すと、エラーが発生します。

前進するためのいくつかのオプションがあります。

  1. matchコマンドを単純化します。

  2. 守ってください。最初にを使用しifて、存在するかどうかを確認してからmatch、そのグループを探します。

  3. 一般に、このようなエラーが発生した場合は、コードを単純化して、問題の原因を確認してください。Pythonは非常に簡潔な方法で記述できますが、学習するときはより説明的である方がよいと思います。

このSOの質問は、さらにいくつかのオプションを提供するはずです。

それがあなたが前進するのを助けることを願っています。

于 2013-01-26T19:30:11.963 に答える