python在内存中读写:StringIO/BytesIO-创新互联

操作字符串,使用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 
    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'

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:python在内存中读写:StringIO/BytesIO-创新互联
网站链接:http://hbruida.cn/article/iigse.html