0. io流(io stream)

流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插入操作。用来进行输入输出操作的流就称为IO流。换句话说,IO流就是以流的方式进行输入输出。

输入输出(IO)是指计算机同任何外部设备之间的数据传递。常见的输入输出设备有文件、键盘、打印机、屏幕等。数据可以按记录(或称数据块)的方式传递,也可以流的方式传递。所谓记录,是指有着内部结构的数据块。记录内部除了有需要处理的实际数据之外,还可能包含附加信息,这些附加信息通常是对本记录数据的描述。

1. StringIO

StringIO和BytesIO

数据读写不一定是文件,也可以在内存中进行。

StringIO 顾名思义就是在内存中以 io 流的方式读写 str。

from io import StringIO
f = StringIO()
f.write('hello')            # 返回 5,也即写入的字符数目
f.write(' ')
f.write('world!')
f.getvalue()                # hello world!

也可以读取:

f = StringIO('Hello!\nWorld!')
while True:line = f.readline()if line == '':breakprint(line.strip())

python 标准库 —— io(StringIO)相关推荐

  1. Python标准库中的io

    Python标准库中io模块中有两个比较重要的组成部分:StringIO.BytesIO 1.StringIO StringIO 的作用是在内存中读写字符串,其示例代码如下: from io impo ...

  2. 转--Python标准库之一句话概括

    作者原文链接 想掌握Python标准库,读它的官方文档很重要.本文并非此文档的复制版,而是对每一个库的一句话概括以及它的主要函数,由此用什么库心里就会有数了. 文本处理 string: 提供了字符集: ...

  3. 常用Python标准库

    众所周知,Python有庞大的库资源,有官方标准库以及第三方的扩展库.每个库都一把利器,能帮助我们快速处理某方面的问题.作为一名python的初学者,当把基本的语法.列表和元组.字典.迭代器.异常处理 ...

  4. Python标准库介绍

    1. 关于Python标准库 众所周知,Python是一个依赖强大的组件库完成对应功能的语言,为了便捷实现各项功能,前辈大牛们打造了多种多样的工具库公开提供给大众使用,而越来越多的库已经因为使用的广泛 ...

  5. Python标准库asyncio模块基本原理浅析

    Python标准库asyncio模块基本原理浅析 本文环境python3.7.0 asyncio模块的实现思路 当前编程语言都开始在语言层面上,开始简化对异步程序的编程过程,其中Python中也开始了 ...

  6. pythondifflib详解_用python标准库difflib比较两份文件的异同详解

    [需求背景] 有时候我们要对比两份配置文件是不是一样,或者比较两个文本是否异样,可以使用linux命令行工具diff a_file b_file,但是输出的结果读起来不是很友好.这时候使用python ...

  7. linux下c标准库位置,C 标准库 IO 使用详解

    其实输入与输出对于不管什么系统的设计都是异常重要的,比如设计 C 接口函数,首先要设计好输入参数.输出参数和返回值,接下来才能开始设计具体的实现过程.C 语言标准库提供的接口功能很有限,不像 Pyth ...

  8. Python标准库中的zipfile

    例如在E盘的demo目录下面存在下述三个文件: 将demo目录进行压缩后,在E盘的跟目录下面就会多了一个demo.zip文件 如果我们想获取demo.zip压缩文件里面的上述三个文件,在已知文件路径的 ...

  9. python标准库学习笔记

    原创:python标准库学习笔记 数据结构 bisect 模块里实现了一个向列表插入元素时也会顺便排序的算法. struct - 二进制数据结构:用途:在 Python 基本数据类型和二进制数据之间进 ...

最新文章

  1. c++ 绘制函数图像_【图像增强】CLAHE 限制对比度自适应直方图均衡化
  2. 挑选管理软件应注意的几个问题
  3. 前后端数据交互的几个方法
  4. 【C++】简约的for循环
  5. 对Docker镜像layer的理解
  6. 17. JavaScript Math(算数)对象
  7. SharePoint2010 空白站点集无法找到术语管理库
  8. Excel根据公式生成插入语句
  9. button执行onclick函数_可能你的react函数组件从来没有优化过
  10. 激活ltsb2016_WIN10 LTSB 2016电话激活步骤详解
  11. 怎样快速提高计算机能力,如何提高算术能力?不借助计算机、笔、纸等工具,怎么能快速心算出多位数计算结果?如:489x85 如:128965-98542有什么口决及速算的方法的详细步骤?...
  12. vue项目使用eslint和prettier格式化项目
  13. 关于ZBRUSH弯折功能使用问题
  14. Gradle安装部署与基础入门详解
  15. Unity 制作愤怒的小鸟
  16. ROS学习(一)ROS Noetic安装及环境配置
  17. 【python之操作注册表】Python删除注册表节点下的值
  18. 案例:知乎是怎么落地Istio的?
  19. vue学习以及部分项目笔记
  20. 技术前沿与经典文章17:历史上54位伟大物理学家、科学家的专属LOGO(三)

热门文章

  1. 深入Managed DirectX9
  2. pycharm python3.7环境_Python3+Pycharm+PyQt5环境搭建步骤图文详解
  3. Load error: undefined path variables 记录一次IDEA崩溃
  4. SparkContext详述
  5. Bug:No mapping for GET /onepill//swagger-ui.html
  6. java语言中实现键盘输入_Java程序设计中的键盘输入数据的方法分析
  7. 多线程—— Queue(储存进程结果)
  8. 数据挖掘:模型选择——逻辑回归
  9. opencv imshow plt imshow
  10. 7-27 Codeforces Round #499 (Div. 2)