我该如何解决Python 3.x中的 "ImportError: No module named 'cStringIO'" 错误?
从Python 3.0日志中可以看到:
StringIO和cStringIO模块已经弃用。取而代之的是,导入io模块并使用io.StringIO或io.BytesIO用于文本和数据。
从Python 3电子邮件文档中可以看出应该使用io.StringIO
代替:
from io import StringIO
from email.generator import Generator
fp = StringIO()
g = Generator(fp, mangle_from_=True, maxheaderlen=60)
g.flatten(msg)
text = fp.getvalue()
email
,而应该只导入它,因为它是Python标准库的一部分。 - Simeon Visser我曾经遇到过相同的问题,因为我的文件名叫做email.py。我将文件重命名后问题就消失了。
我遇到了问题,因为我的目录名叫做email
。我将目录重命名为emails
,问题就解决了。