Pythonのジェネレーターで下記のようなエラーがでます。
errorを見る限り、next(db_lib.collection(original_text).list())
に対して利用しているnextを初期化できずにいて、StopIteration
が発生しているのかと思いました。
上記の理解あっていますでしょうか?また、これに対しての対処方法をご存知の方いらっしゃったらご教示いただけませんでしょうか?
下記のコードでやりたいことは、nextで値がとれなくなるまでこのままwhile文を通したいです。
python
1import db_lib -> 質問用の架空のライブラリです。 2 3document = {} 4while original_text: 5 text = next(db_lib.collection(original_text).list()) -> nextの中身は、generatorを生成します。 6 text_generator = text.collections() -> generatorを生成する関数です。 7 original_text = next(text_generator).id -> text_generatorは、generator 8 document[text.id] = original_text
whileの2周目でエラーが発生します。
error
... ... ... text = next(db_lib.collection(original_text).list()) StopIteration
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。