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 相关文章推荐
利用QT写一个极简单的图形化Python闹钟程序
Apr 07 Python
tensorflow获取变量维度信息
Mar 10 Python
使用python对文件中的数值进行累加的实例
Nov 28 Python
python3.6使用urllib完成下载的实例
Dec 19 Python
django中账号密码验证登陆功能的实现方法
Jul 15 Python
django rest framework 实现用户登录认证详解
Jul 29 Python
python输出pdf文档的实例
Feb 13 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
Feb 26 Python
python实现快速文件格式批量转换的方法
Oct 16 Python
Python getsizeof()和getsize()区分详解
Nov 20 Python
python b站视频下载的五种版本
May 27 Python
关于python中模块和重载的问题
Nov 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 header示例代码(推荐)
2010/09/08 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
mysql desc(DESCRIBE)命令实例讲解
2016/09/24 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
php实现的mongoDB单例模式操作类
2018/01/20 PHP
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
Angular页面间切换及传值的4种方法
2016/11/04 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
JS中精巧的自动柯里化实现方法
2017/12/12 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
jQuery实现的简单拖拽功能示例【测试可用】
2018/08/14 jQuery
小程序实现列表删除功能
2018/10/30 Javascript
vue router动态路由设置参数可选问题
2019/08/21 Javascript
微信小程序制作扭蛋机代码实例
2019/09/24 Javascript
微信小程序停止其他视频播放当前视频的实例代码
2019/12/25 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
vue如何使用rem适配
2021/02/06 Vue.js
Python自动调用IE打开某个网站的方法
2015/06/03 Python
python开发之thread线程基础实例入门
2015/11/11 Python
python验证码识别教程之利用滴水算法分割图片
2018/06/05 Python
关于python写入文件自动换行的问题
2018/06/23 Python
Django JWT Token RestfulAPI用户认证详解
2019/01/23 Python
python多线程实现TCP服务端
2019/09/03 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
Daniel Wellington官方海外旗舰店:丹尼尔惠灵顿DW手表
2018/02/22 全球购物
一份报关员的职业规划范文
2014/01/08 职场文书
趣味运动会活动方案
2014/02/12 职场文书
2014年前台接待工作总结
2014/12/05 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
话题作文之自信作文
2019/11/15 职场文书
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
2022/03/23 MySQL
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python