無限ループを簡易的にチェックする

Pythonを書いているときに無限ループを簡易的にチェックする方法を思い付いたのでメモ。 以下のように無限ループに陥ってしまったとします。

cond = True
while cond:
    cond = True  # いつまでたっても条件がFalseにならない
    print('hoge')

このとき、とりあえず本来のループ脱出条件は無視して無限ループから抜け出そうと思い、イテレータを使う方法を思い付きました。

cond = True
limit = iter(range(10000))
while cond:
    next(limit)  # 無限ループチェック
    cond = True  # いつまでたっても条件がFalseにならない
    print('hoge')

このようにすれば、10001回目のループの先頭でStopIteration例外が発生して、無限ループから抜けることができます。

※range関数を使っていますが、Python2ではxrangeを使ったほうがよいでしょう。