从文件路径进行判断,看起来您正在运行Python 3.7。如果是这样,您将被此处介绍的3.7版新行为所吸引:
PEP 479已为Python 3.7中的所有代码启用,这意味着在协程和生成器中直接或间接引发的StopIteration异常将转换为RuntimeError异常。(由Yury Selivanov在bpo-32670中贡献。)
在此更改之前,StopIteration
由发电机举起或经过发电机只是简单地终止了发电机的使用寿命(默默地吞没了例外)。您正在使用的模块将必须重新编码才能按照3.7的预期工作。
他们可能需要更改:
yield next(seq)
至:
try:
yield next(seq)
except StopIteration:
return