python 在内存中读写:StringIO / BytesIO
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 <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'xe4xb8xadxe6x96x87'
以上是关于python 在内存中读写:StringIO / BytesIO的主要内容,如果未能解决你的问题,请参考以下文章