91

如何解决ImportError: No module named 'cStringIO'Python 3.x 下的问题?

4

3 回答 3

147

从 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()
于 2015-01-29T00:01:31.597 回答
16

我遇到了同样的问题,因为我的文件名为email.py。我重命名了文件,问题消失了。

于 2018-04-26T01:31:36.793 回答
0

我遇到了问题,因为我的目录被称为email. 我将目录重命名为emails,问题消失了。

于 2021-07-12T14:56:26.823 回答