Python使用StringIO和BytesIO读写内存数据
流读写
很多时候,数据读写不一定是文件,也可以在内存中读写。
1、StringIO:在内存中读写str。
要把str写入StringIO,我们需要先创建一个StringIO,然后,像文件一样写入即可:
getvalue()
方法用于获得写入后的str。
from io import StringIO f = StringIO() f.write('hello') f.write(' ') f.write('world!') print(f.getvalue()) #hello world!
要读取StringIO,可以用一个str初始化StringIO,然后,像读文件一样读取:
from io import StringIO f = StringIO('Hello!\nHi!\nGoodbye!') while True: s = f.readline() if s == '': break print(s.strip()) # Hello! # Hi! # Goodbye!
2、BytesIO:在内存中读写bytes
StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO。
BytesIO实现了在内存中读写bytes,我们创建一个BytesIO,然后写入一些bytes:
请注意,写入的不是str,而是经过UTF-8编码的bytes。
from io import BytesIO f = BytesIO() f.write('中文'.encode('utf-8')) print(f.getvalue()) # b'\xe4\xb8\xad\xe6\x96\x87'
和StringIO类似,可以用一个bytes初始化BytesIO,然后,像读文件一样读取:
from io import BytesIO f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87') f.read().decode('utf-8') # '中文'
3、小结
StringIO和BytesIO是在内存中操作str和bytes的方法,使得和读写文件具有一致的接口。
到此这篇关于Python使用StringIO和BytesIO读写内存数据的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
python模块之StringIO使用示例
StringIO经常被用来作为字符串的缓存,应为StringIO有个好处,他的有些接口和文件操作是一致的,也就是说用同样的代码,可以同时当成文件操作或者StringIO操作.比如: 复制代码 代码如下: import string, os, sys import StringIO def writedata(fd, msg): fd.write(msg) f = open('aaa.txt', 'w') writedata(f, "xxxxxxxxxxxx") f.cl
-
Python StringIO及BytesIO包使用方法解析
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!
-
Python StringIO如何在内存中读写str
这篇文章主要介绍了python StringIO如何在内存中读写str,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 StringIO 很多时候,数据读写不一定是文件,也可以在内存中读写.StringIO就是在内存中读写str from io import StringIO ff = StringIO('Hello!\nHi!\nGoodbye!') f = StringIO() #创建StringIO对象--可以看做在内存中的文件 i=f.w
-
Python StringIO模块实现在内存缓冲区中读写数据
模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中. 此类中的大部分函数都与对文件的操作方法类似. 例: 复制代码 代码如下: #coding=gbk import StringIO, cStringIO, sys s = StringIO.StringIO("JGood is a handsome boy") s.write("JGood is a handsome boy \r\n") s.write('okkkk中国') s.see
-
Python使用StringIO和BytesIO读写内存数据
流读写 很多时候,数据读写不一定是文件,也可以在内存中读写. 1.StringIO:在内存中读写str. 要把str写入StringIO,我们需要先创建一个StringIO,然后,像文件一样写入即可: getvalue()方法用于获得写入后的str. from io import StringIO f = StringIO() f.write('hello') f.write(' ') f.write('world!') print(f.getvalue()) #hello world! 要读取
-
Python如何读写字节数据
问题 你想读写二进制文件,比如图片,声音文件等等. 解决方案 使用模式为 rb 或 wb 的 open() 函数来读取或写入二进制数据.比如: # Read the entire file as a single byte string with open('somefile.bin', 'rb') as f: data = f.read() # Write binary data to a file with open('somefile.bin', 'wb') as f: f.write(b
-
python如何读写json数据
本文实例为大家分享了python读写json数据的具体代码,供大家参考,具体内容如下 案例: 在web应用中常常用到json数据进行传输数据,本质上是字典类型数据转换成字符串,通过字符串进行网页传输,然后把接收到的字符串转换成字典类似数据 需求:实现字典转换成字符串,字符串转换成字典数据类型,写入文件 如何做? 1.明确dumps和dump的区别,dump的接口是文件,直接写入文件,dumps把对应的数据类型转换成字符串,loads 和dumps相反,load直接从文件中读取文件并把数据转换成对
-
python如何读写csv数据
本文实例为大家分享了python读写csv数据的具体代码,供大家参考,具体内容如下 案例: 通过股票网站,我们获取了中国股市数据集,它以csv数据格式存储 Data,Open,High,Low,Close,Volume,Adj Close 2016-06-28,8.63,8.47,8.66,8.70,500000,8.70 2016-06-28,8.63,8.47,8.66,8.70,500000,8.70 2016-06-28,8.63,8.47,8.66,8.70,500000,8.70 .
-
在python中使用pyspark读写Hive数据操作
1.读Hive表数据 pyspark读取hive数据非常简单,因为它有专门的接口来读取,完全不需要像hbase那样,需要做很多配置,pyspark提供的操作hive的接口,使得程序可以直接使用SQL语句从hive里面查询需要的数据,代码如下: from pyspark.sql import HiveContext,SparkSession _SPARK_HOST = "spark://spark-master:7077" _APP_NAME = "test" spa
-
python读写excel数据--pandas详解
目录 一.读写excel数据 1.1 读: 1.2写: 二.举例 2.1 要求 2.2 实现 总结 一.读写excel数据 利用pandas可以很方便的读写excel数据 1.1 读: data_in = pd.read_excel('M2FENZISHI.xlsx') 1.2写: 首先要创建数据框 # example df = pd.DataFrame({'A':[0,1,2]}) writer = pd.ExcelWriter('test.xlsx') #name of excel file
-
JSON文件及Python对JSON文件的读写操作
一,什么是JSON文件 JSON和XML都是互联网上数据交换的主要载体. 在JSON出现之前,大家一直用XML来传递数据.因为XML是一种纯文本格式,所以它适合在网络上交换数据.XML本身不算复杂,但是,加上DTD.XSD.XPath.XSLT等一大堆复杂的规范以后,任何正常的软件开发人员碰到XML都会感觉头大了,最后大家发现,即使你努力钻研几个月,也未必搞得清楚XML的规范.于是,道格拉斯·克罗克福特(Douglas Crockford)发明了JSON这种超轻量级的数据交换语言,由于JSON非
-
Python初学者必备的文件读写指南
一.如何将列表数据写入文件 ⾸先,我们来看看下⾯这段代码,并思考:这段代码有没有问题,如果有问题的话,要怎么改? li = ['python',' is',' a',' cat'] with open('test.txt','w') as f: f.write(li) 现在公布答案,这段代码会报错: TypeError Traceback (most recent call last) <ipython-input-6-57e0c2f5a453> in <module>() 1 w
-
Python标准库学习之psutil内存详解
目录 查询CPU信息 查询内存信息 查询磁盘信息 查询网络信息 查询进程信息 人生苦短,快学Python! 今天介绍的是psutil模块,它是一个跨平台库 https://github.com/giampaolo/psutil 命令行下通过pip安装: pip install psutil 如果跟我一样安装的是Anaconda,则剩下这步了,因为自带了. 顾名思义 psutil = process and system utilities 它专门用来获取操作系统以及硬件相关的信息,比如:CPU.
-
Python实现的Excel文件读写类
本文实例讲述了Python实现的Excel文件读写类.分享给大家供大家参考.具体如下: #coding=utf-8 ####################################################### #filename:ExcelRW.py #author:defias #date:2015-4-27 #function:read or write excel file #################################################
随机推荐
- ASP.NET中repeater嵌套实现代码(附源码)
- PHP 图片水印类代码
- Flex 处理服务器端传来的数据第1/2页
- 解析Java中如何获取Spring中配置的bean
- Oracle用户密码含有特殊字符导致无法登陆解决方法
- Python的Django框架中if标签的相关使用
- PHP获取服务器端信息的方法
- source.php查看源文件
- 如何解决PHP使用mysql_query查询超大结果集超内存问题
- AndroidStudio利用android-support-multidex解决64k的各种异常
- 使用C#写了一个可以推算火车票身份证号码的小程序
- MySQL中表复制:create table like 与 create table as select
- 让你的网站首页自动选择语言转跳
- mysql把主键定义为自动增长标识符类型
- JavaScript实现的内存数据库LokiJS介绍和入门实例
- JavaScript中Cookie操作实例
- 利用VBS发送邮件 挑选速度快的肉鸡做VPN 的vbs代码第1/2页
- SQL Substring提取部分字符串
- 浅谈jQuery的bind和unbind事件(绑定和解绑事件)
- 无法启动.NET Framework NGEN v4.0.30319_X86服务的解决方法