Python StringIO及BytesIO包使用方法解析


Posted in Python onJune 15, 2020

StringIO

它主要是用在内存读写str中。

主要用法就是:

from io import StringIO

f = StringIO()
f.write(‘12345‘)
print(f.getvalue())

f.write(‘54321‘)
f.write(‘abcde‘)

print(f.getvalue())

#打印结果
12345
1234554321abcde

也可以使用str初始化一个StringIO然后像文件一样读取。

f = StringIO(‘hello\nworld!‘)
while True:
  s = f.readline()
  if s == ‘‘:
    break
  print(s.strip()) #去除\n
#打印结果
hello
world!

BytesIO

想要操作二进制数据,就需要使用BytesIO。

当然包括视频、图片等等。

from io import BytesIO

f = BytesIO()
f.write(‘保存中文‘.encode(‘utf-8‘))

print(f.getvalue())
#打印结果
b‘\xe4\xbf\x9d\xe5\xad\x98\xe4\xb8\xad\xe6\x96\x87‘

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

存放图片

f = BytesIO()

image_open = open(‘./1.jpg‘, ‘rb‘)
f.write(image_open.read())

image_save = open(‘./2.jpg‘, ‘wb‘)
image_save.write(f.getvalue())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
MySQLdb ImportError: libmysqlclient.so.18解决方法
Aug 21 Python
django 自定义用户user模型的三种方法
Nov 18 Python
把MySQL表结构映射为Python中的对象的教程
Apr 07 Python
Python爬虫天气预报实例详解(小白入门)
Jan 24 Python
numpy找出array中的最大值,最小值实例
Apr 03 Python
Python3多线程操作简单示例
May 22 Python
PyQt5使用QTimer实现电子时钟
Jul 29 Python
Python IDE Pycharm中的快捷键列表用法
Aug 08 Python
Python利用全连接神经网络求解MNIST问题详解
Jan 14 Python
python画环形图的方法
Mar 25 Python
python 基于opencv实现高斯平滑
Dec 18 Python
Autopep8的使用(python自动编排工具)
Mar 02 Python
Python smtp邮件发送模块用法教程
Jun 15 #Python
pandas数据处理之绘图的实现
Jun 15 #Python
keras中的loss、optimizer、metrics用法
Jun 15 #Python
使用keras实现Precise, Recall, F1-socre方式
Jun 15 #Python
基于python和flask实现http接口过程解析
Jun 15 #Python
基于nexus3配置Python仓库过程详解
Jun 15 #Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 #Python
You might like
PHP抽象类 介绍
2012/06/13 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
php中array_multisort对多维数组排序的方法
2020/06/21 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
jQuery学习笔记之jQuery的事件
2010/12/22 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
Extjs优化(一)删除冗余代码提高运行速度
2013/04/15 Javascript
仿新浪微博登陆邮箱提示效果的js代码
2013/08/02 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
js实现点击链接后窗口缩小并居中的方法
2015/03/02 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
微信小程序 Video API实例详解
2016/10/02 Javascript
微信小程序 开发经验整理
2017/02/15 Javascript
vue.js利用defineProperty实现数据的双向绑定
2017/04/28 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
angular6.x中ngTemplateOutlet指令的使用示例
2018/08/09 Javascript
js 实现 list转换成tree的方法示例(数组到树)
2019/08/18 Javascript
JS+JQuery实现无缝连接轮播图
2020/12/30 jQuery
vue element和nuxt的使用技巧分享
2021/01/14 Vue.js
跟老齐学Python之??碌某?? target=
2014/09/12 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
2019/12/11 Python
Python实现投影法分割图像示例(一)
2020/01/17 Python
Python 实现Image和Ndarray互相转换
2020/02/19 Python
荷兰本土平价百货:HEMA
2017/10/23 全球购物
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
团结就是力量演讲稿
2014/05/21 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
保安2014年终工作总结
2014/12/06 职场文书
2016年机关单位节能宣传周活动总结
2016/04/05 职场文书
2019旅游导游工作总结
2019/06/27 职场文书
深入详解JS函数的柯里化
2021/06/09 Javascript
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript