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封装shell命令实例分析
May 05 Python
Linux下使用python自动修改本机网关代码分享
May 21 Python
浅析Python 中整型对象存储的位置
May 16 Python
numpy中索引和切片详解
Dec 15 Python
每天迁移MySQL历史数据到历史库Python脚本
Apr 13 Python
python实现人人自动回复、抢沙发功能
Jun 08 Python
python如何生成网页验证码
Jul 28 Python
pycharm 实现显示project 选项卡的方法
Jan 17 Python
Python虚拟环境的原理及使用详解
Jul 02 Python
python threading和multiprocessing模块基本用法实例分析
Jul 25 Python
python连接打印机实现打印文档、图片、pdf文件等功能
Feb 07 Python
PyTorch中Tensor的数据统计示例
Feb 17 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
56.com视频采集接口程序(PHP)
2007/09/22 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
2015/03/10 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
2017/04/04 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
JsDom 编程小结
2011/08/09 Javascript
jQuery源码分析之Callbacks详解
2015/03/13 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
javascript实现拖放效果
2015/12/16 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
基于React实现表单数据的添加和删除详解
2017/03/14 Javascript
解析vue data不可以使用箭头函数问题
2018/07/03 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
微信小程序获取当前位置和城市名
2019/11/13 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
2020/02/07 Javascript
Python入门篇之面向对象
2014/10/20 Python
Python实现的数据结构与算法之队列详解
2015/04/22 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
Python批量转换文件编码格式
2015/05/17 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
python批量修改图片尺寸,并保存指定路径的实现方法
2019/07/04 Python
python实现PID算法及测试的例子
2019/08/08 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
Html5在手机端调用相机的方法实现
2020/05/13 HTML / CSS
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
写自荐信的七个技巧
2013/10/15 职场文书
奥巴马竞选演讲稿
2014/05/15 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
报表员工作失误检讨书范文
2014/09/19 职场文书
党的群众路线个人对照检查材料
2014/09/23 职场文书
寒假安全保证书
2015/02/28 职场文书
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android