美文网首页
django---StringIO和BytesIO

django---StringIO和BytesIO

作者: 冬gua | 来源:发表于2018-03-21 22:04 被阅读0次

(一)stringIO

很多时候,数据读写不一定是文件,也可以在内存中读写。

StringIO顾名思义就是在内存中读写str。

要把str写入StringIO,我们需要先创建一个StringIO,然后,像文件一样写入即可:

>>> from io import StringIO

>>> f = StringIO()

>>> f.write('hello')

5

>>> f.write(' ')

1

>>> f.write('world!')

6

>>> print(f.getvalue())

hello world!

(二)Ø BytesIO

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

BytesIO实现了在内存中读写bytes,我们创建一个BytesIO,然后写入一些bytes:

>>> from io import BytesIO

>>> f = BytesIO()

>>> f.write('中文'.encode('utf-8'))

6

>>> print(f.getvalue())

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

请注意,写入的不是str,而是经过UTF-8编码的bytes。

和StringIO类似,可以用一个bytes初始化BytesIO,然后,像读文件一样读取:

>>> from io import BytesIO

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

>>> f.read()

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

相关文章

  • django---StringIO和BytesIO

    (一)stringIO 很多时候,数据读写不一定是文件,也可以在内存中读写。 StringIO顾名思义就是在内存中...

  • django---StringIO和BytesIO

    (一)stringIO 很多时候,数据读写不一定是文件,也可以在内存中读写。 StringIO顾名思义就是在内存中...

  • StringIO和BytesIO

    StringIO和BytesIO

  • python的StringIO

    StringIO和BytesIO的区别

  • StringIO和BytesIO

    StringIO StringIO操作的只能是str!! BytesIO

  • Python基础-day13

    list slots 多态 类属性和类函数 静态函数 对象拷贝 StringIO和BytesIO slots 限制...

  • Python IO编程

    一、文件读写 读 写 二、StringIO和BytestIO StringIO和BytesIO是在内存中操作str...

  • 38. StringIO和BytesIO

    StringIO StringIO顾名思义就是在内存中读写str。要把str写入StringIO,我们需要先创建一...

  • IO编程-StringIO和BytesIO

    StringIO和BytesIO是在内存中操作str和bytes的方法,使得和读写文件具有一致的接口。 1、Str...

  • 2019-05-18

    import time from io import BytesIO from PIL import Image ...

网友评论

      本文标题:django---StringIO和BytesIO

      本文链接:https://www.haomeiwen.com/subject/unwnqftx.html