今天在学Python的时候,一直报错 AttributeError: module 'collections' has no attribute 'Iterable' 。网上一搜,说是Python 3.9以后collections.Iterable被废弃了,在更高版本的环境中使用时会出现module 'collections' has no attribute 'Iterable’报错。
遇到不会的我就问ChatGPT,给了个解决方案:
from collections import Iterable
# 如果当前 Python 版本不支持 collections.abc 中的 Iterable,则手动定义
if not hasattr(Iterable, '__iter__'):
Iterable = collections.abc.Iterable
然而,仍然报错。
无奈去google了下,在csdn上找到了答案:
import collections
collections.Iterable = collections.abc.Iterable
这样做的目的是确保你的代码在不同的 Python 版本或环境中都能使用 collections.Iterable
,而不会受到模块变化的影响。提高代码的兼容性。