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 相关文章推荐
python发送HTTP请求的方法小结
Jul 08 Python
1 行 Python 代码快速实现 FTP 服务器
Jan 25 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
Python实现iOS自动化打包详解步骤
Oct 03 Python
python实现Flappy Bird源码
Dec 24 Python
对Python中实现两个数的值交换的集中方法详解
Jan 11 Python
python 控制Asterisk AMI接口外呼电话的例子
Aug 08 Python
Python基于当前时间批量创建文件
May 07 Python
Python基于pyjnius库实现访问java类
Jul 31 Python
python通过函数名调用函数的几种场景
Sep 23 Python
python连接mysql数据库并读取数据的实现
Sep 25 Python
python中 Flask Web 表单的使用方法
May 20 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服务器实现多session并发运行
2006/10/09 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
老生常谈PHP位运算的用途
2017/03/12 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
javascript 保存文件到本地实现方法
2012/11/29 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
Javascript基础知识(三)BOM,DOM总结
2014/09/29 Javascript
input输入框鼠标焦点提示信息
2015/03/17 Javascript
js控制文本框输入的字符类型方法汇总
2015/06/19 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
2016/12/18 Javascript
PHP实现本地图片上传和验证功能
2017/02/27 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
for循环 + setTimeout 结合一些示例(前端面试题)
2017/08/30 Javascript
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
Vue实现商品飞入购物车效果(电商项目)
2019/11/26 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
python中readline判断文件读取结束的方法
2014/11/08 Python
基于Django的ModelForm组件(详解)
2017/12/07 Python
python多行字符串拼接使用小括号的方法
2020/03/19 Python
Python Learning 列表的更多操作及示例代码
2018/08/22 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
大学生暑期实践感言
2014/02/26 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
学校政风行风自查自纠报告
2014/10/21 职场文书
2015年招商引资工作总结
2015/04/25 职场文书
行政上诉状范文
2015/05/23 职场文书
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers