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中的__new__与__init__魔术方法理解笔记
Nov 08 Python
python利用装饰器进行运算的实例分析
Aug 04 Python
利用python画一颗心的方法示例
Jan 31 Python
Appium+Python自动化测试之运行App程序示例
Jan 23 Python
详解python的argpare和click模块小结
Mar 31 Python
Python 实现微信防撤回功能
Apr 29 Python
Python笔记之观察者模式
Nov 20 Python
浅谈Python访问MySQL的正确姿势
Jan 07 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
Mar 18 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
Mar 30 Python
Jupyter Notebook输出矢量图实例
Apr 14 Python
Jupyter notebook 更改文件打开的默认路径操作
May 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代码
2006/12/06 PHP
很让人受教的 提高php代码质量36计
2012/09/05 PHP
php字符串截取函数用法分析
2014/11/25 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
js实现适用于素材网站的黑色多级菜单导航条效果
2015/08/24 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
Bootstrap基本插件学习笔记之Alert警告框(20)
2016/12/08 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
在weex中愉快的使用scss的方法步骤
2020/01/02 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
Python实现批量检测HTTP服务的状态
2016/10/27 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
对PyQt5中树结构的实现方法详解
2019/06/17 Python
Pandas之排序函数sort_values()的实现
2019/07/09 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
python构造函数init实例方法解析
2020/01/19 Python
通过自学python能找到工作吗
2020/06/21 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
应届生财务管理求职信
2013/11/06 职场文书
毕业生自荐信格式
2014/03/07 职场文书
民警个人对照检查剖析材料
2014/09/17 职场文书
债务纠纷委托书范本
2014/10/14 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS
详解MySQL 用户权限管理
2021/04/20 MySQL
教你用eclipse连接mysql数据库
2021/04/22 MySQL