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实现上传样本到virustotal并查询扫描信息的方法
Oct 05 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
Jul 23 Python
Python实现压缩与解压gzip大文件的方法
Sep 18 Python
python处理两种分隔符的数据集方法
Dec 12 Python
对python中的six.moves模块的下载函数urlretrieve详解
Dec 19 Python
使用Python3内置文档高效学习以及官方中文文档
May 19 Python
win8.1安装Python 2.7版环境图文详解
Jul 01 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
Jul 19 Python
Python实现企业微信机器人每天定时发消息实例
Feb 25 Python
使用Python pip怎么升级pip
Aug 11 Python
python中使用np.delete()的实例方法
Feb 01 Python
简单谈谈Python面向对象的相关知识
Jun 28 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
附件名前加网站名
2008/03/23 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
php实现的美国50个州选择列表实例
2015/04/20 PHP
PHP中Enum(枚举)用法实例详解
2015/12/07 PHP
CI框架集成Smarty的方法分析
2016/05/17 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
2017/11/21 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
2009/12/02 Javascript
JQuery select标签操作代码段
2010/05/16 Javascript
js输出列表实现代码
2010/09/12 Javascript
使用jQuery.fn自定义jQuery翻页插件
2013/01/20 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
jQuery中delegate与on的用法与区别示例介绍
2013/12/20 Javascript
关于JavaScript对象的动态选择及遍历对象
2014/03/10 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
VUE重点问题总结
2018/03/19 Javascript
JS常见构造模式实例对比分析
2018/08/27 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
python实现的AES双向对称加密解密与用法分析
2017/05/02 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
雅诗兰黛美国官网:Estee Lauder美国
2016/07/21 全球购物
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
Java的五个基础面试题
2016/02/26 面试题
三万活动总结
2014/04/28 职场文书
青安岗事迹材料
2014/05/14 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
爱岗敬业先进典型事迹材料(2016推荐版)
2016/02/26 职场文书
SpringRetry重试框架的具体使用
2021/07/25 Java/Android