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 相关文章推荐
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
May 02 Python
详解python之简单主机批量管理工具
Jan 27 Python
Python在不同目录下导入模块的实现方法
Oct 27 Python
使用python根据端口号关闭进程的方法
Nov 06 Python
python接口自动化(十六)--参数关联接口后传(详解)
Apr 16 Python
numpy.where() 用法详解
May 27 Python
python-numpy-指数分布实例详解
Dec 07 Python
python文件和文件夹复制函数
Feb 07 Python
使用python检查yaml配置文件是否符合要求
Apr 09 Python
150行python代码实现贪吃蛇游戏
Apr 24 Python
pytorch 中forward 的用法与解释说明
Feb 26 Python
Python 用户输入和while循环的操作
May 23 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
PHP4之真OO
2006/10/09 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
javascript创建和存储cookie示例
2014/01/07 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
js父页面与子页面不同时显示的方法
2014/10/16 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
Vue关于数据绑定出错解决办法
2017/05/15 Javascript
React Native之TextInput组件解析示例
2017/08/22 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
微信小程序与公众号卡券/会员打通的问题
2019/07/25 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
vue路由缓存的几种实现方式小结
2020/02/02 Javascript
400多行Python代码实现了一个FTP服务器
2012/05/10 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
Python continue语句实例用法
2020/02/06 Python
python实现梯度下降和逻辑回归
2020/03/24 Python
使用python计算三角形的斜边例子
2020/04/15 Python
Pygame框架实现飞机大战
2020/08/07 Python
sublime3之内网安装python插件Anaconda的流程
2020/11/10 Python
css3发光搜索表单分享
2014/04/11 HTML / CSS
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
Vertbaudet西班牙网上商店:婴儿服装、童装、母婴用品和儿童家具
2019/10/16 全球购物
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
大学生职业生涯规划方案
2014/01/03 职场文书
放飞蜻蜓反思
2014/02/05 职场文书
2014年林业工作总结
2014/12/05 职场文书
出国导师推荐信
2015/03/25 职场文书
九年级语文教学反思
2016/03/03 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python