python 3.x ImportError: No module named 'cStringIO'

python 3.x ImportError: No module named 'cStringIO'

如何在 Python 3.x 下解决 ImportError: No module named 'cStringIO'

来自 Python 3.0 更新日志:

The StringIO and cStringIO modules are gone. Instead, import the io module and use io.StringIO or io.BytesIO for text and data respectively.

Python 3 email documentation可以看出应该用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.py。我重命名了文件,问题消失了。

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