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脚本操作MongoDB的教程
Apr 16 Python
Python 类的继承实例详解
Mar 25 Python
Python 编码Basic Auth使用方法简单实例
May 25 Python
Python实现句子翻译功能
Nov 14 Python
python实现求解列表中元素的排列和组合问题
Mar 15 Python
python面试题小结附答案实例代码
Apr 11 Python
Python 最强编辑器详细使用指南(PyCharm )
Sep 16 Python
python实现简单成绩录入系统
Sep 19 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
Feb 11 Python
浅谈django channels 路由误导
May 28 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
Jun 15 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
Jan 13 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
轻松修复Discuz!数据库
2008/05/03 PHP
PHP 定界符 使用技巧
2009/06/14 PHP
PHP 超链接 抓取实现代码
2009/06/29 PHP
destoon官方标签大全
2014/06/20 PHP
我整理的PHP 7.0主要新特性
2016/01/07 PHP
php用正则判断是否为数字的方法
2016/03/25 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
浅谈php fopen下载远程文件的函数
2016/11/18 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
Mootools 1.2教程 Fx.Tween的使用
2009/09/15 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
JS模板实现方法
2013/04/03 Javascript
jQuery实现的一个自定义Placeholder属性插件
2014/08/11 Javascript
JavaScript实现的石头剪刀布游戏源码分享
2014/08/22 Javascript
jquery获取radio值实例
2014/10/16 Javascript
jQuery使用removeClass方法删除元素指定Class的方法
2015/03/26 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
原生js实现无限循环轮播图效果
2017/01/20 Javascript
JavaScript中 this 指向问题深度解析
2017/02/21 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
JavaScript数组特性与实践应用深入详解
2018/12/30 Javascript
layui实现鼠标移动到单元格上显示数据的方法
2019/09/11 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
Python正则表达式匹配ip地址实例
2014/10/09 Python
python访问mysql数据库的实现方法(2则示例)
2016/01/06 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
python 6种方法实现单例模式
2020/12/15 Python
python 实现端口扫描工具
2020/12/18 Python
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
如何写自我评价?自我评价写什么好?
2014/03/14 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
2015年办公室人员工作总结
2015/05/15 职场文书