python中IO库中StringIO方法和BytesIO方法用法详解

article/2025/9/29 8:40:49

有时候数据读写不一定是文件,也可以在内存中读写。StringIO顾名思义就是在内存中读写str。

Python在内存中读写数据,用到的模块是StringIO和BytesIO。

getvalue()方法用于获得写入后的str。

StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO。

StringIO用法:

源码解释:
class StringIO(_TextIOBase):"""Text I/O implementation using an in-memory buffer.The initial_value argument sets the value of object.  The newlineargument is like the one of TextIOWrapper's constructor."""

示例代码1:

# StringIO:在内存中读写str
from io import StringIOf = StringIO()
print(f.write('hello'))
print(f.write(' '))
print(f.write('world!'))# getValue()方法用于获取写入的str
print(f.getvalue())
print('-----------------------1')# 要读取StringIO,可以用一个str初始化StringIO,然后,像读文件一样读取:
f = StringIO('Hello!\nHi!\nGoodbye!')
while True:s = f.readline()if s == '':breakprint(s.strip())print('-----------------------2')

运行结果:

BytesIO用法:

# 源码解释:
class BytesIO(_BufferedIOBase):""" Buffered I/O implementation using an in-memory bytes buffer. """

示例代码2:

# StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO
from io import BytesIOf = BytesIO()
print(f.write('中国\n我爱你'.encode('utf-8')))
print(f.getvalue())
print('-----------------------1')# 和StringIO类似,可以用一个bytes初始化BytesIO,然后,像读文件一样读取
f = BytesIO(b'\xe4\xb8\xad\xe5\x9b\xbd\n\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0')
print(f.read())while True:s = f.readline()if s == b'':breakprint(s.strip())print('-----------------------2')

运行结果:


http://chatgpt.dhexx.cn/article/Wno4jhVW.shtml

相关文章

python io模块_python中的StringIO模块

原博文 2015-12-03 13:48 − StringIO经常被用来作为字符串的缓存,应为StringIO有个好处,他的有些接口和文件操作是一致的,也就是说用同样的代码,可以同时当成文件操作或者StringIO操作。 一、例子 import StringIO s StringIO…

StringIO和BytesIO

StringIO和BytesIO 文章目录 StringIO和BytesIOStringIO常用方法 BytesIO常用方法 StringIO io模块中的类 导入方式 from io import StringIO内存中,开辟的一个文本模式的buffer,可以像文件对象一样操作它当close方法被调用的时候,这个buffe…

python中StringIO和BytesIO

1. 类文件对象 最常见的io操作是将磁盘中的文件读到内存以及内存内容写入文I件。还有一种内存和内存之间的IO,叫类文件对象,python中的StringIO和BytesIO就是类文件对象,通俗解释即:像操作文件一样在内存中操作字符串和二进制内容…

Python中的StringIO和BytesIO

1.StringIO 很多时候,数据读写不一定是文件,也可以在内存中读写。 StringIO顾名思义就是在内存中读写str。 要把str写入StringIO,我们需要先创建一个StringIO,然后,像文件一样写入即可: 使用getvalue()方…

StringIO 的使用, 存在的意义

StringIO存在的意义 比如想写一个脚本, 从网站下载一个压缩文件, 并解压到本地. 下意识可能分为三部 下载文件写入到本地用zipfile读取这个文件并解压 代码如下: # 1. 下载 import urllib2 res urllib.openurl(url) zip_data res.read()# 2. 写入本地 with open(file_name…

Python3学习笔记23-StringIO和BytesIO

StringIO 很多时候数据读取不一定是文件,也可以在内存中 StringIO顾名思义就是在内存中读写str 要把str写入StringIO,我们需要先创建一个StringIO,然后像文件一样写入即可: from io import StringIO f = StringIO() f.write(Hello) f.write( ) f.write(Word) print(f.getva…

Spring Boot+Vue+ElementUI实现文件的上传和下载到本地 并将 文件信息存入数据库

🎈 1 参考文档 springboot 文件MultipartFile上传路径问题 | 橙熟^ _ ^-CSDN(原本采用绝对路径,参考该文章改成相对路径) 组件 | Element 🚀2 导入依赖和配置application.yml文件 2.1 在pom.xml中导入依赖 采用了myb…

VUE项目中使用node.js搭建server连接本地mysql数据库

最近在研究vue项目中使用node.js搭建server服务器,链接本地mysql数据库,进行数据操作。 准备工作: 1.vue 2.node.js 3:mysql 前面两项对于入行前端的小伙伴应该不是问题了吧, 如果有的话,可以参考vue安装项目。 我选…

vue-实现文件下载

1.利用浏览器的导出功能 window.location.href 服务器文件路径 相当于后端告诉前端文件的地址,直接使用浏览器去下载 2.以流的形式下载文件 查了一些资料,主要用的代码如下,原文章:入口 在此基础上增加了params,…

(基于Vue.js的在线教学平台)源代码+数据库表 Vue.js+Node.js+MySQL 源码免费分享

一.先言 毕业已经快一年啦,工作总时长也一年半左右了啦。现在也毕业季,想着与其吃灰,不如把去年写的毕设可以分享给大家,大家可以做过参考什么的,毕竟社区里秉承分享快乐原则~当然,这个项目其实很简单&…

Vue下载安装步骤的详细教程(亲测有效) 1

目录 一、【准备工作】nodejs下载安装(npm环境) 1 下载安装nodejs 2 查看环境变量是否添加成功 3、验证是否安装成功 4、修改模块下载位置 (1)查看npm默认存放位置 (2)在 nodejs 安装目录下,创建 “node_global…

MySQL 免安装版的下载与配置教程

文章目录 前置附录MySQL 常用命令 事先准备下载 MySQL卸载 MySQL安装 MySQL设置 MySQL 开机自启动远程访问 MySQL使用 MySQL Workbench 远程访问 MySQL使用 Navicat Premium 远程访问 MySQL使用 DataGrip 远程访问 MySQL 后置附录MySQL 的配置文件数据库存放目录 笔者的运行环境…

Vue+MySQL+Springboot

文章目录 一、Vue前端1. 去官网下载Nodejs,如果希望稳定的开发环境则下LTS2. 安装好后winr输入node -v查询是否安装成功3. 高版本的nodejs自带npm,则不必再下载,查询命令npm -v4. 由于在国内使用npm是非常慢的,所以在这里我们推荐…

Vue.js下载与安装

windows系统 1. 特点 Vue.js:是一套构建用户界面的渐进式框架 Vue:只关注视图层,采用自底向上增量开发的设计 Vue:目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件 2. Vue.js的下载与安装 1)下载安装No…

MySQL的下载、配置(手把手)

一、MySQL下载 首先到官网下载MySQL,下载链接:https://downloads.mysql.com/archives/community/ 进入到页面: 选择你需要使用的MySQL版本(我这里选择5.7.24,比较稳定的版本)选择你的操作系统(windows&a…

vue+nodejs+mysql上线部署(服务器CentOS8)

一.Liunx配置安装node(环境配置) 建software文件夹 mkdir /opt/software 2.进入software文件夹 cd /opt/software 3.查看服务器系统,下载相应的node版本 uname -a 去nodejs 官网,找nodejs linux的下载链接 (推荐下载node-v16.5.0版本&#x…

[记录六]Vue+node+koa2+mysql+nginx+redis,全栈开发小程序和管理员管理系统项目——服务端图片上传与下载

大家好,我是小佑小佐:https://blog.csdn.net/Smell_rookie,是一名页面仔工程师,我会不定时在CSDN更新我的博客,有兴趣的可以点个关注来逛逛我的主页。 前言:本项目需要涉及前端上传图片与显示图片&#xff…

Vue.js 最新官方下载地址与项目导入

目录 VUE2下载网址 VUE2使用示例&#xff1a; VUE3下载与使用 VUE3示例&#xff1a; 在官网上下载vue.js或者是vue.min.js。并用<script>标签引入。 应小伙伴要求区分一下版本&#xff1a; VUE2下载网址 Installation — Vue.jsVue.js - The Progressive JavaScrip…

vue.js下载及安装的三种方法

vue.js下载及安装的三种方法 要下载安装vue首先得下载安装node.js和npm。下载安装好这两样以后就可以安装vue了&#xff0c;下面给大家介绍三种安装vue的方法。 1.直接在官网上下载 在官网上下载vue.js。并用<script>标签引入。 注意&#xff1a;下载时网址是 https://vu…

vue下载

第一步&#xff1a; 安装 node.js &#xff08;如果已安装就不用装了&#xff0c;当然如果你想安装最新版本的node.js最好是从新安装一遍&#xff09; node.js安装官网地址 https://nodejs.org/zh-cn/ 安装完成之后 winr 键 打开运行 输入cmd 打开命令行窗口 输入 node -v …