2.2.3.2Python-StringIO和BytesIO

总目录:https://www.jianshu.com/p/e406a9bc93a9

Python - 子目录:https://www.jianshu.com/p/50b432cb9460

如果我们希望有一些信息,不存在磁盘中,在内存中就将它完成,最后再存到磁盘内。

我们就需要StringIO和BytesIO了。

StringIO

我们来看一个实例

from ioimport StringIO

f = StringIO()

f.write('hello')

f.write(' ')

f.write('world!')

print(f.getvalue())

hello world!


f1 = StringIO('Hello!\nHi!\nGoodbye!')

print(f1.getvalue())

Hello! 

Hi!

Goodbye! 

方法很简单,我们只需要先创建一个StringIO,之后就可以写入一下信息,最后使用getvalue()就可以获取到内部的信息。

我们可以在创建时直接写入,也可以先创建好后一步一步写。


BytesIO

StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO。

其他地方和StringIO差不多。

from ioimport BytesIO

f1 = BytesIO()

f1.write('中文'.encode('utf-8'))

print(f1.getvalue())

b'\xe4\xb8\xad\xe6\x96\x87'

f2 = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87')

print(f2.getvalue())

b'\xe4\xb8\xad\xe6\x96\x87'

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • StringIO StringIO顾名思义就是在内存中读写str。要把str写入StringIO,我们需要先创建一...
    牛崽儿酷阅读 1,417评论 0 0
  • (一)stringIO 很多时候,数据读写不一定是文件,也可以在内存中读写。 StringIO顾名思义就是在内存中...
    冬gua阅读 5,522评论 0 0
  • (一)stringIO 很多时候,数据读写不一定是文件,也可以在内存中读写。 StringIO顾名思义就是在内存中...
    a荷包蛋阅读 4,540评论 0 0
  • 基础1.r''表示''内部的字符串默认不转义2.'''...'''表示多行内容3. 布尔值:True、False(...
    neo已经被使用阅读 5,694评论 0 5
  • logging 1.把print()替换为logging是第三种方式,和assert比,logging不会抛出错误...
    7季阅读 2,540评论 0 0