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的web框架中中编写日志列表的教程
Apr 30 Python
Python的多态性实例分析
Jul 07 Python
Python实现树莓派WiFi断线自动重连的实例代码
Mar 16 Python
Pycharm技巧之代码跳转该如何回退
Jul 16 Python
python OpenCV学习笔记之绘制直方图的方法
Feb 08 Python
python json.loads兼容单引号数据的方法
Dec 19 Python
python 获取毫秒数,计算调用时长的方法
Feb 20 Python
Python操作rabbitMQ的示例代码
Mar 19 Python
Flask教程之重定向与错误处理实例分析
Aug 01 Python
布隆过滤器的概述及Python实现方法
Dec 08 Python
python如何利用paramiko执行服务器命令
Nov 07 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
Jun 05 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
PHP5+UTF8多文件上传类
2008/10/17 PHP
按上下级层次关系输出内容的PHP代码
2010/07/17 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
2013/06/18 PHP
PHP获取当前所在目录位置的方法
2014/11/26 PHP
php实现refresh刷新页面批量导入数据的方法
2014/12/23 PHP
php session的锁和并发
2016/01/22 PHP
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
用Move.js配合创建CSS3动画的入门指引
2015/07/22 Javascript
JS简单实现点击复制链接的方法
2016/08/03 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
Vue中添加过渡效果的方法
2017/03/16 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
2019/02/15 jQuery
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
python实现udp聊天窗口
2020/03/31 Python
Python 跨.py文件调用自定义函数说明
2020/06/01 Python
类、抽象类、接口的差异
2016/06/13 面试题
英语翻译系毕业生求职信
2013/09/29 职场文书
大学生自我鉴定范文
2013/12/28 职场文书
给幼儿园老师的表扬信
2014/01/19 职场文书
公司年会抽奖活动主持词
2014/03/31 职场文书
党员学习正风肃纪思想汇报
2014/09/12 职场文书
2015年乡镇安全生产工作总结
2015/05/19 职场文书
我的中国梦主题班会
2015/08/14 职场文书
银行大堂经理培训心得体会
2016/01/09 职场文书
利用 Python 的 Pandas和 NumPy 库来清理数据
2022/04/13 Python