Python StringIO及BytesIO包使用方法解析

作者:会飞的猫1122 时间:2022-12-24 15:34:26 

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())

来源:https://www.cnblogs.com/tangda/p/13105725.html

标签:Python,String,Bytes,IO,包
0
投稿

猜你喜欢

  • 解决运行出现'dict' object has no attribute 'has_key'问题

    2021-06-14 06:58:48
  • 常用SQL语句(嵌套子查询/随机等等)详细整理

    2024-01-20 12:50:40
  • Pygame Draw绘图函数的具体使用

    2021-05-24 12:14:49
  • python函数的重新定义及练习

    2023-10-12 22:47:55
  • SQL Server 2016 无域群集配置 AlwaysON 可用性组图文教程

    2024-01-13 00:22:49
  • python 获取list 长度

    2021-11-12 12:49:57
  • 使用SQL Server2005扩展函数进行性能优化

    2010-06-07 11:26:00
  • python 创建一个空dataframe 然后添加行数据的实例

    2022-05-08 01:51:59
  • python防止随意修改类属性的实现方法

    2021-07-16 00:34:40
  • Laravel框架表单验证格式化输出的方法

    2022-05-25 04:49:52
  • 对acronym、abbr标签的理解

    2008-05-29 13:03:00
  • linux mysql 报错:MYSQL:The server quit without updating PID file

    2024-01-22 08:40:47
  • nodejs处理tcp连接的核心流程

    2024-05-03 15:55:40
  • Bootstrap每天必学之工具提示(Tooltip)插件

    2023-07-02 05:25:22
  • Python列表生成器的循环技巧分享

    2023-10-06 21:24:28
  • Linux ORCLE数据库增量备份脚本

    2009-11-21 09:43:00
  • 如何查询日期类型的数据?

    2009-11-11 20:04:00
  • Python如何根据时间序列数据作图

    2022-06-30 01:41:01
  • 在python中实现导入一个需要传参的模块

    2022-04-08 18:48:24
  • Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法

    2023-12-19 22:42:41
  • asp之家 网络编程 m.aspxhome.com