次のジェネレーター式を含むプログラムを作成しています (ご想像のとおり、「sep2」はコンパイルされた正規表現です)。
(chunk.group(1).strip(punctuation) for chunk in sep2.finditer(textString))
これはうまくいきます。しかし、大きな文字列を処理する代わりに、ファイルを 1 行ずつ処理する方が、プログラムのスケーラビリティが向上するのではないかと思いました。だから私は次のことを試しました:
(chunk.group(1).strip(punctuation) for chunk in (sep2.finditer(line) for line in file))
残念ながら、これにより次のエラー メッセージがスローされます。
AttributeError: 'callable-iterator' object has no attribute 'group'
ここで、ファイルを 1 行ずつ処理するという考えをあきらめることができます。正直なところ、それは大したことではありません。しかし、ここで何がうまくいかないのか知りたいです。上記のエラー メッセージについて、stackoverflow (および Python の Web サイト、およびインターネット全般) を検索しましたが、関連すると思われるものは見つかりませんでした。私が知る必要があるのは、内部のジェネレーター式が生成する (私が推測する) 'callable-iterator' オブジェクトから一致オブジェクトを取得する方法だと思います。しかし、私は混乱しているかもしれません。私はあまりプログラマーではありません (プログラミングが役に立つと思っているだけです)。
御時間ありがとうございます。