python io模块
StringIO
StringIO顾名思义就是在内存中读写str。
要把str写入StringIO,我们需要先创建一个StringIO,然后,像文件一样写入即可:
from io import StringIO
f = StringIO()
print(f.write('hello py1 ')) # 10
print(f.write('hello py2 ')) # 10
print(f.write('hello py3 ')) # 10
print(f.getvalue()) # hello py1 hello py2 hello py3
要读取StringIO,可以用一个str初始化StringIO,然后,像读文件一样读取:
from io import StringIO
f = StringIO('Hello!\nHi!\nGoodbye!')
print(f.read())
StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO
from io import BytesIO
f = BytesIO()
print(f.write('中文'.encode('utf-8')))
# 请注意,写入的不是str,而是经过UTF-8编码的bytesprint(f.getvalue()) # b'\xe4\xb8\xad\xe6\x96\x87'
BytesIO
和StringIO类似,也可以用一个bytes初始化BytesIO,然后,像读文件一样读取:
from io import StringIO
f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87')
f.read()
b'\xe4\xb8\xad\xe6\x96\x87'
StringIO和BytesIO是在内存中操作str和bytes的方法,使得和读写文件具有一致的接口。
python io模块相关推荐
- python io模块_python中的StringIO模块
原博文 2015-10-23 15:21 − # python中的StringIO模块 标签:python StringIO --- > 此模块主要用于在内存缓冲区中读写数据.模块是用类编写的, ...
- Python - io 模块
文章目录 关于 io 模块 1.文本 I/O 2.二进制(字节) I/O 3.原始 I/O 二.文本编码格式 选择性的 EncodingWarning 三.高阶模块接口 四.类的层次结构 1.I/O ...
- python IO模块【一】:IO类
前言 python中的IO操作主要包括textIO.bytesIO.与rawIO,bytesIO主要操作对象是buffered raw bytes, rawIO操作对象是raw bytes, text ...
- Python io – BytesIO,StringIO
Python io module allows us to manage the file-related input and output operations. The advantage of ...
- python的io模块
open函数是一个工厂函数.根据传入的变量,open函数会进行文件的开启.文件对象的创建与设定,然后返回文件对象.我们来看一下指定不同变量时,open函数具体为我们返回了什么类型的文件对象呢: > ...
- Python的io模块详解
Python的io模块提供了多个流式处理接口,具体的处理函数实现位于_pyio.py模块中. 在_io.py模块中,提供了唯一的模块方法open(name, mode=None, buffering= ...
- Python 第三方模块 科学计算 SciPy模块1 简介,常数,IO
官方文档:https://www.scipy.org/\qquadhttps://docs.scipy.org/doc/scipy/reference/index.html 一.基本信息 1.介绍: ...
- python import io_详解Python IO编程
文件读写 读文件 try: # windows下utf8 f = open('./README.md', 'r', encoding='utf8', errors='ignore') print(f. ...
- python高级-模块(14)
一.python中的模块 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须用语句#include <math.h>引入math.h这个头文件,否则是无法正常进行调用的. ...
最新文章
- (送)Java 架构技术揭秘:Redis+Nginx+Dubbo精选+面试题+精选视频
- mac 源生安装mysql_docker安装MySQL数据库
- Intel Realsense D435报错:RuntimeError: Acquire failed!
- boost::serialization相关的测试程序
- php文件安全实现方法,php安全下载大文件的实现代码
- SAP Fiori Elements 应用里的 Title 显示的内容是从哪里来的
- Django03: django加入APP
- react学习(71)--render使用
- [原创]VS2013 EF6连接MySql需要几步?
- django-session了解
- Implementation of the USB 3.0 controller not found!
- Excel删除重复数据
- Lumines! to exploit
- 高通driver模块编译方法
- Day13_定时器中断处理
- sparksql处理mysql_Spark记录-SparkSQL远程操作MySQL和ORACLE
- 【PMP】PMBOK 笔记 第10章 项目沟通管理
- 前端面试官经验总结 | 前端面试小技巧
- 企业网络安全的重要性
- 什么是路由器 路由器和路由器之间怎么连接
热门文章
- 10a大电流稳压芯片_IC芯片大小的完整10A DC/DC电源
- rtsp流媒体播放器----ffmpeg相关代码走读(一)
- 数据结构童话版 003新的学生
- 光猫通过 Telnet 修改自带 WLAN 功能 SSID 强制 ChinaNet- 问题
- SQLServer错误代码解释
- 2016年上市新SUV斯柯达kodiaq大气造型
- Yocto OpenCV交叉编译
- 集成百度ORC 识别报 Fatal signal 11 (SIGSEGV) (RenderThread) 错误(已解决)
- 正则改造VS Code里React类组件的自定义snippet
- 【仿淘宝首页】前端网页模板,大学生前端作业分享,html5+css电商网站模板,包含js动效