Python 报错 module 'collections' has no attribute 'Iterable'

python tutorial 学习笔记

今天在学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,而不会受到模块变化的影响。提高代码的兼容性。

Rate this post
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x