Python文件读写、StringIO和BytesIO

这篇具有很好参考价值的文章主要介绍了Python文件读写、StringIO和BytesIO。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

StringIO和BytesIO

很多时候,数据读写不一定是文件,也可以在内存中读写。StringIO就是在内存中读写str。

要把str写入StringIO,我们需要先创建一个StringIO,然后,像文件一样写入即可:

>>> from io import StringIO
>>> f = StringIO()
>>> f.write('hello')
5
>>> f.write(' ')
1
>>> f.write('world!')
6
>>> print(f.getvalue())
hello world!

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

要读取StringIO,可以用一个str初始化StringIO,然后,像读文件一样读取:

>>> from io import StringIO
>>> f = StringIO('Hello!\nHi!\nGoodbye!')
>>> while True:
...     s = f.readline()
...     if s == '':
...         break
...     print(s.strip())
#Python小白学习交流群:711312441
Hello!
Hi!
Goodbye!

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

BytesIO实现了在内存中读写bytes,我们创建一个BytesIO,然后写入一些bytes:

>>> from io import BytesIO
>>> f = BytesIO()
>>> f.write('中文'.encode('utf-8'))
6 
>>> print(f.getvalue())
b'\xe4\xb8\xad\xe6\x96\x87'

注意,写入的不是str,而是经过UTF-8编码的bytes。

和StringIO类似,可以用一个bytes初始化BytesIO,然后,像读文件一样读取:

>>> from io import BytesIO
>>> f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87')
>>> f.read()
b'\xe4\xb8\xad\xe6\x96\x87'

StringIO和BytesIO是在内存中操作str和bytes的方法,使得和读写文件具有一致的接口。文章来源地址https://www.toymoban.com/news/detail-457492.html

到了这里,关于Python文件读写、StringIO和BytesIO的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python读写yaml文件

    YAML 是一种常见的标记性语言,常用于配置文件。本文就使用Python 对yaml文件的读写展开讨论。 yaml 语法请查看:https://blog.csdn.net/yuelai_217/article/details/130582142 1.1、读取单组数据 Python 读取yaml常见的有两种方式,一种是使用 pyyaml ,另一种是 ruamel.yaml 1.1.1、pyyaml test.yaml如下:

    2024年04月28日
    浏览(41)
  • python读写txt 文件

    一、读文件 步骤:打开 – 读取 – 关闭 f= open(‘D:pythontxt1.txt’) f.read() #返回txt 文件的所有内容 while True: lines = f.readline() # 按行读取数据,行自动+1 if not lines: break pass print(lines) 二、文件写入 f1= open(‘D:pythontxt1.txt’,‘w’) f1.write(‘5.5 5.6!’) f1.close() //只有close的时候文件才

    2023年04月09日
    浏览(41)
  • Python读写二进制文件

    Python 读写文件的二进制数据需要使用到struct模块,进行C/C++与Python数据格式的转换。 struct模块中最常用的函数为pack和unpack,用法如下: 函数 return explain pack(fmt,v1,v2…) string 按照给定的格式(fmt),把数据转换成字符串(字节流),并将该字符串返回. pack_into(fmt,buffer,offset,v1,v2…) No

    2024年02月08日
    浏览(45)
  • python之json文件读写操作

    python操作json文件通常有4中方法: json.loads json.load json.dumps json.dump json.loads 将json对象转化为python对象,也就是将字符串转换为字典类型,例如: json.load 对json文件进行读取 也可以通过json.loads读取,但是需要把文件内容转换为二进制流,json.loads主要是对数据流进行转换为jso

    2024年02月10日
    浏览(48)
  • python之批量读写excel文件

    首先,导入openpyxl库中的读取和新建文件包(比较官方的名称我没有查,就按照好理解的方向这样说),文中关于行和列的理解都是个人想法,可能有和读者不同之处。 先详细说怎么样读取单个excel文件,批量在后边写。 excel表格格式如下,需要弄清楚的就是excel文件路径,以

    2024年02月02日
    浏览(48)
  • Python读写EXCEL文件常用方法

    python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别,这里我主要介绍几个常用的方式。 用xlrd和xlwt进行excel读写; 用openpyxl进行excel读写; 用pandas进行excel读写; 为了方便演示,我这里新建了一个data.xls和data.xlsx文件,第一个工作表sheet1区域“A1:E5”的内容如下

    2024年02月11日
    浏览(42)
  • 【python基础教程】使用python读写各种格式的文件

    今天,小哥给大家提供了丰富的文件读写功能,可应用于各种文件格式。本篇博客将总结Python中读写各类文件的方法,包括文本文件、CSV文件、JSON文件、Excel文件等。无论你是初学者还是有经验的开发者,这里都将为你提供一份全面的文件操作指南。 读取文本文件 逐行读取

    2024年01月25日
    浏览(44)
  • Python编程实验五:文件的读写操作

    目录 一、实验目的与要求 二、实验内容 三、主要程序清单和程序运行结果 第1题 第2题 四、实验结果分析与体会 (1)通过本次实验,学生应掌握与文件打开、关闭相关的函数,以及与读写操作相关的常用方法的使用; (2)理解基于文件的词频统计以及数据分析的基本思路

    2024年03月14日
    浏览(49)
  • Python读写EXCEL文件常用方法大全

    python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别,这里我主要介绍几个常用的方式。 用xlrd和xlwt进行excel读写; 用openpyxl进行excel读写; 用pandas进行excel读写; 为了方便演示,我这里新建了一个data.xls和data.xlsx文件,第一个工作表sheet1区域“A1:E5”的内容如下

    2024年01月19日
    浏览(55)
  • Python读写mdb文件的实战代码

      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作

    2024年01月16日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包