问题
How do I solve an ImportError: No module named \'cStringIO\'
under Python 3.x?
回答1:
From Python 3.0 changelog;
The StringIO and cStringIO modules are gone. Instead, import the io module and use io.StringIO or io.BytesIO for text and data respectively.
From the Python 3 email documentation it can be seen that io.StringIO
should be used instead:
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()
Reference: https://docs.python.org/3.4/library/io.html
回答2:
I had the same issue because my file was called email.py. I renamed the file and the issue disappeared.
来源:https://stackoverflow.com/questions/28200366/python-3-x-importerror-no-module-named-cstringio