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易忽视知识点小结
May 25 Python
python使用 HTMLTestRunner.py生成测试报告
Oct 20 Python
Python中顺序表的实现简单代码分享
Jan 09 Python
python实现类之间的方法互相调用
Apr 29 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
Jan 14 Python
Python提取频域特征知识点浅析
Mar 04 Python
Django如何防止定时任务并发浅析
May 14 Python
python交易记录链的实现过程详解
Jul 03 Python
python语言中有算法吗
Jun 16 Python
matplotlib 画双轴子图无法显示x轴的解决方法
Jul 27 Python
python实现取余操作的简单实例
Aug 16 Python
python 制作网站筛选工具(附源码)
Jan 21 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遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
php下载文件超时时间的设置方法
2016/10/06 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
求解开jscript.encode代码的asp函数
2007/02/28 Javascript
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
JAVASCRIPT style 中visibility和display之间的区别
2010/01/22 Javascript
js常用排序实现代码
2010/12/28 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
js获取当前路径的简单示例代码
2014/01/08 Javascript
jQuery使用hide方法隐藏页面上指定元素的方法
2015/03/30 Javascript
Backbone.js 0.9.2 源码注释中文翻译版
2015/06/25 Javascript
理解JavaScript的变量的入门教程
2015/07/07 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
JSON 必知必会 观后记
2016/10/27 Javascript
探索Vue.js component内容实现
2016/11/03 Javascript
微信小程序 Nginx环境配置详细介绍
2017/02/14 Javascript
JS实现加载和读取XML文件的方法详解
2017/04/24 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
python定时任务 sched模块用法实例
2019/11/04 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
Tensorflow 多线程设置方式
2020/02/06 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
2020/03/24 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
Python读写锁实现实现代码解析
2020/11/28 Python
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
世界上最大的家庭自动化公司:Smarthome
2017/12/20 全球购物
巴西Mr. Cat在线商店:购买包包和鞋子
2019/09/08 全球购物
写出二分查找算法的两种实现
2013/05/13 面试题
公司财务流程之主管工作流程
2014/03/03 职场文书
法人代表证明书范本
2015/06/18 职场文书
创业计划书之韩国烧烤店
2019/09/19 职场文书
励志正能量20句:送给所有为梦想拼搏的人
2019/11/11 职场文书