标签:exp python2 ant font expect imp pad byte error:
操作字符串,使用StringIO
#!/usr/bin/python
# -*- coding: utf-8 -*-
from io import StringIO
f = StringIO()
f.write('hello')
print(f.getvalue())运行结果:
Traceback (most recent call last):
File "stringio.py", line 6, in <module>
f.write('hello')
TypeError: unicode argument expected, got 'str'在python 2.7版本中出错,在python 3版本中正常运行,于是百度了一下,把
from io import StringIO
改为
from io import BytesIO as StringIO
继续在python2.7版本中运行,正常了。
#!/usr/bin/python
# -*- coding: utf-8 -*-
#from io import StringIO
#from io import BytesIO
from io import BytesIO as StringIO
f = StringIO()
f.write('hello')
print(f.getvalue())运行结果:
hello
操作二进制文件,使用BytesIO
以下代码在python2.7运行又有问题,目前时间不够,为节省时间,在python3平台运行,成功
#!/usr/bin/python
# -*- coding: utf-8 -*-
from io import BytesIO
f = BytesIO()
f.write('中文'.encode('utf-8'))
print(f.getvalue())运行结果:
hello b'\xe4\xb8\xad\xe6\x96\x87'
python 在内存中读写:StringIO / BytesIO
标签:exp python2 ant font expect imp pad byte error:
原文地址:http://blog.51cto.com/13502993/2149155