io python_python学习笔记 - StringIO以及BytesIO
之前我们所说的都是读写真正的文件。其实我们也可以在内存中虚拟一个文件进行读写。Python给咱们提供的官方module有io.StringIO和io.BytesIO.
io.StringIO
String IO用于在内存在读写字符串。
StringIO可以传入一个字符初始化。例如
string = StringIO("This is Demo")
例如:
from io import StringIO
s = StringIO()
s.write("Yes\nYEs")
s.seek(0)
# 将指针拨回到开始位置,否则将会读取不到任何东西
content = s.read()
print content
StringIO创建的是一个file-like object,拥有File Object的所有方法。StringIO还有两个特殊的方法,就是getvalue()方法和close()方法。
getvalue()方法用于获取StringIO中写入的内容
close()方法关闭StringIO,释放内存。
io.BytesIO
StringIO只能处理字符串类型的数据,BytesIO可以用于处理二进制类型的数据。
BytesIO的用法与StringIO类似。
StringIO.StringIO
在搜索文档的时候,发现在StringIO下也有一个StringIO,而且两者非常类似。所有google了一下。在stackoverflow有一个回答:
回答的原文链接:http://stackoverflow.com/ques...
An in-memory stream for unicode text. It inherits TextIOWrapper.
This module implements a file-like class, StringIO, that reads and writes a string buffer (also known as memory files).
io.StringIO is a class. It handles Unicode. It reflects the preferred Python 3 library structure.
StringIO.StringIO is a class. It handles strings. It reflects the legacy Python 2 library structure.
What should be preferred?
Always move forward toward the new library organization. The io.open should be used to replace the built-in Unicode-unaware open.
Forward. Move forward.
大意就是StringIO是python2的遗产,后续会被io.StringIO取代.
建议使用io.StringIO.
io python_python学习笔记 - StringIO以及BytesIO相关推荐
- python学习笔记 - StringIO以及BytesIO
之前我们所说的都是读写真正的文件.其实我们也可以在内存中虚拟一个文件进行读写.Python给咱们提供的官方module有io.StringIO和io.BytesIO. io.StringIO Stri ...
- Python学习:StringIO和BytesIO
1.StringIO 很多时候数据读取不一定是文件,也可以在内存中 StringIO顾名思义就是在内存中读写str 要把str写入StringIO,我们需要先创建一个StringIO,然后像文件一样写 ...
- Python3学习笔记23-StringIO和BytesIO
StringIO 很多时候数据读取不一定是文件,也可以在内存中 StringIO顾名思义就是在内存中读写str 要把str写入StringIO,我们需要先创建一个StringIO,然后像文件一样写入即 ...
- printdocument python_python学习笔记之wxpython打印预览
主要学习wxPython in action 和Demo程序,做点学习笔记 wxPython 通过使用设备上下文和绘制操作来实现打印,wxPython中实现打印的一个重要的类:wx.PrintOut它 ...
- while用法python_Python学习笔记之While循环用法分析
本文实例讲述了Python学习笔记之While循环用法.分享给大家供大家参考,具体如下: 前面一篇<Python学习笔记之For循环用法>详细介绍了Python for循环,这里再来讲述一 ...
- Java - IO流学习笔记
1.文件和文件夹 内存中存放的数据信息在计算机关机后就会消失,如果想要长久的保存数据,就需要使用到光盘.硬盘等设备,为了便于数据的管理以及检索,引入了"文件"的概念.一篇文章,一个 ...
- org.apache.commons.io——FileUtils学习笔记
FileUtils类的应用 1.写入一个文件: 2.从文件中读取: 3.创建一个文件夹,包括文件夹: 4.复制文件和文件夹: 5.删除文件和文件夹: 6.从URL地址中获取文件: 7.通过文件过滤器和 ...
- 十分钟学习python_Python学习笔记一:十分钟入门
[转]为什么要自己敲呢?--学习的过程. 简介: Python是一种动态解释型的编程语言.Python可以再Windows,UNIX,MAC等多种ca 特点: 1. python使用C语言开发,但是p ...
- JAVA相关的IO知识学习笔记
BIO 最传统的一种 IO 模型,即在读写数据过程中会发生阻塞现象.当用户线程发出 IO 请求之后,内核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态 ...
最新文章
- windows下编译pcl-master源码(带GPU)
- 清华思客 | 蓝志勇:人工智能时代公共治理创新迫在眉睫
- mysql57查询无响应_MySQL 单个表锁死 对查询语句无响应
- 2020-10-13 多智能体基本图论
- HDU 5527:Too Rich(DFS+贪心)***
- Unhandled Exxception “Unhandled exception type IOException”?
- 使用devenv/MSBuild在命令行编译单个project
- python安装第三方库win10_音频处理 windows10下python三方库librosa安装教程
- Azure DevOps+Docker+Asp.NET Core 实现CI/CD(一 .简介与创建自己的代理池)
- 程序员面试金典 - 面试题 10.11. 峰与谷(排序/不排序)
- python把print写入文件_Python中用print方法向文件中写入内容
- Python C API 使用详解(二)
- 奇妙的证明 —— 0! = 1(a^0=1)
- QQ连连看外挂--基于LAScript
- 你听过“费斯汀格法则”吗?多少人因为不懂而被残害!好文!
- SaaS行业验尸报告:他们死于资本狂欢前夜
- PL/SQL12.2 ——DML 触发器
- 老旧笔记本安装openwrt实践:
- web前端开发可以从事哪些工作
- github优秀项目分享 redis客户端