脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python使用StringIO和BytesIO读写内存数据

Python使用StringIO和BytesIO读写内存数据

2022-11-08 10:37springsnow Python

这篇文章介绍了Python使用StringIO和BytesIO读写内存数据的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

流读写

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

1、StringIO:在内存中读写str。

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

getvalue()方法用于获得写入后的str。

?
1
2
3
4
5
6
from io import StringIO
f = StringIO()
f.write('hello')
f.write(' ')
f.write('world!')
print(f.getvalue()) #hello world!

要读取StringIO,可以用一个str初始化StringIO,然后,像读文件一样读取:

?
1
2
3
4
5
6
7
8
9
10
from io import StringIO
f = StringIO('Hello!\nHi!\nGoodbye!')
while True:
        s = f.readline()
        if s == '':
            break
        print(s.strip())
# Hello!
# Hi!
# Goodbye!

2、BytesIO:在内存中读写bytes

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

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

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

?
1
2
3
4
from io import BytesIO
f = BytesIO()
f.write('中文'.encode('utf-8'))
print(f.getvalue())  # b'\xe4\xb8\xad\xe6\x96\x87'

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

?
1
2
3
from io import BytesIO
f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87')
f.read().decode('utf-8'# '中文'

3、小结

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

到此这篇关于Python使用StringIO和BytesIO读写内存数据的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/springsnow/p/12611566.html

延伸 · 阅读

精彩推荐
  • PythonPython字符串格式化常用手段及注意事项

    Python字符串格式化常用手段及注意事项

    这篇文章主要介绍了Python字符串格式化常用手段,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考...

    后来者20123862020-06-18
  • PythonPython图像处理之目标物体轮廓提取的实现方法

    Python图像处理之目标物体轮廓提取的实现方法

    目标物体的轮廓实质是指一系列像素点构成,这些点构成了一个有序的点集,这篇文章主要给大家介绍了关于Python图像处理之目标物体轮廓提取的实现方法,需...

    赵卓不凡11752021-12-18
  • PythonPython利用shutil实现拷贝文件功能

    Python利用shutil实现拷贝文件功能

    shutil 是一个 Python 内置模块,该模块对文件的复制、删除和压缩等操作都提供了非常方便的支持。本文将利用shutil实现拷贝文件功能,需要的可以参考一下...

    古明地觉9532022-07-22
  • Pythonpython保存网页图片到本地的方法

    python保存网页图片到本地的方法

    这篇文章主要为大家详细介绍了python保存网页图片到本地的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    huhuliuxia11322021-03-20
  • Python最近Python有点火? 给你7个学习它的理由!

    最近Python有点火? 给你7个学习它的理由!

    最近Python有点火?这篇文章主要为大家分享了7个你现在就该学习Python的理由,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    leoxu5512020-11-20
  • PythonPython datetime 如何处理时区信息

    Python datetime 如何处理时区信息

    这篇文章主要介绍了Python datetime 如何处理时区信息,帮助大家更好的用python 处理时间,感兴趣的朋友可以了解下。...

    Yanbin7112020-09-02
  • Python一篇文章带你搞定Python中urllib库(操作URL)

    一篇文章带你搞定Python中urllib库(操作URL)

    使用Python语言,能够帮助大家更好的学习Python。urllib提供的功能就是利用程序去执行各种HTTP请求。如果要模拟浏览器完成特定功能,需要把请求伪装成浏览...

    Go语言进阶学习4112021-11-15
  • Pythonpython轻松实现代码编码格式转换

    python轻松实现代码编码格式转换

    由于某些原因,需要将代码从A机房迁移到B机房,这两个之间不能互相访问,但是历史原因导致A机房的代码全是utf8编码的,B机房要求是GBK编码,看看这个...

    脚本之家4042020-05-24