返回顶部
首页 > 资讯 > 后端开发 > Python >Python的io模块详解
  • 751
分享到

Python的io模块详解

详解模块Python 2023-01-31 05:01:46 751人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

python的io模块提供了多个流式处理接口,具体的处理函数实现位于_pyio.py模块中。 在_io.py模块中,提供了唯一的模块方法open(name, mode=None, buffering=None),但是没有read()方法。

pythonio模块提供了多个流式处理接口,具体的处理函数实现位于_pyio.py模块中。
在_io.py模块中,提供了唯一的模块方法open(name, mode=None, buffering=None),但是没有read()方法。
1. io模块的类图
IOBase
-RawIOBase,无缓存的字节流
-+FileIO,操作系统文件流
-BufferedIOBase,缓存的字节流
-+BytesIO
-+BufferedReader
-+BufferedWriter
-+BufferedRandom
-+BufferedRWPair
-TextIOBase,编码相关的文本流
-+StringIO,文本的内存流
-+TextIOWrapper


2. io模块的3种I/O

1) 原始I/O,即RawIOBase及其子类
也被称为无缓存I/O。
操作底层块,既可以用于文本I/O,也可以用于字节I/O。不推荐使用。
f = open("myfile.jpg", "rb", buffering=0)


2) 文本I/O,即TextIOBase及其子类

读取一个str对象,得到一个str对象。
f = open("myfile.txt", "r", encoding="utf-8")
f = io.StringIO("some initial text data")


3) 字节I/O,即BufferedIOBase及其子类

也称为缓存I/O。

读取一个bytes-like对象,得到一个bytes对象。
f = open("myfile.jpg", "rb")
f = io.BytesIO(b"some initial binary data: \x00\x01")


3. io模块中的文本I/O之StringIO类

文本I/O被读取后,就是在内存中的流。这样的内存流,在调用close()方法后释放内存缓冲区。

  • StringIO类参数
initial_value='',缓冲区初始值
newline='\n',换行符
  • StringIO类的额外的方法
getvalue(),返回一个str,包含整个缓冲区的内容。类似于read(),但是位置指针不移动。
  • StringIO类的用法

from io import StringIO
output = StringIO()
output.write('First line.\n')#写入第一行
print('Second line.', file=output)#写入第二行
contents = output.getvalue()
output.close()

参考链接

https://docs.Python.org/3/library/io.html

Https://GitHub.com/python/cpython/blob/3.6/Lib/io.py

https://github.com/python/cpython/blob/3.6/Lib/_pyio.py

--结束END--

本文标题: Python的io模块详解

本文链接: https://lsjlt.com/news/188408.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python的io模块详解
    Python的io模块提供了多个流式处理接口,具体的处理函数实现位于_pyio.py模块中。 在_io.py模块中,提供了唯一的模块方法open(name, mode=None, buffering=None),但是没有read()方法。...
    99+
    2023-01-31
    详解 模块 Python
  • python的os模块详解
            本章介绍python自带模块os,os为操作系统 operating system 的简写,意为python与电脑的交互。主要学习的函数有 os.getcwd()、os.chdir()、os.path.basename()...
    99+
    2023-10-24
    python
  • Python的random模块详解
    目录 1.random()函数 2.randint(a, b)函数 3.uniform(a, b)函数 4.choice(seq)函数 5.shuffle(seq)函数 6.sample(seq, k)函数 7.randrange([sta...
    99+
    2023-10-20
    python numpy 数据分析
  • Python的psutil模块详解
    目录一、psutil模块:1.psutil介绍2.安装psutil模块: 二、.获取系统基本信息的使用:1.CPU信息2.内存信息 3.磁盘信息5.其他系统信息:...
    99+
    2023-05-18
    Python 模块 Python psutil模块
  • python的logging模块详解
    日志级别>>>import logging >>>logging.NOTSET 0 >>>logging.DEBUG 10 >>>logging.INFO 20 >...
    99+
    2023-01-31
    详解 模块 python
  • 详解python时间模块中的datetime模块
    Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块我在之前的文章已经有所介绍,它提供的接口与C标准库time.h基本一致。相比于time模块,dat...
    99+
    2022-06-04
    模块 详解 时间
  • 详解Python requests模块
    前言 虽然Python的标准库中 urllib2 模块已经包含了平常我们使用的大多数功能,但是它的 API 使用起来让人感觉不太好,而 Requests 自称 “HTTP for Humans”,说明使用更简洁方便。...
    99+
    2022-06-02
    Python requests模块 Python模块
  • python datetime模块详解
    目录1. 获取当前时间2. 时间间隔 timedelta3. datetime 转 字符串 strftime()4. 字符串 转 datetime对象 datetime.strpti...
    99+
    2024-04-02
  • python—requests模块详解
    一、前言 1、requests简介 requests是一个很实用的Python HTTP客户端库,爬虫和测试服务器响应数据时经常会用到,它是python语言的第三方的库,专门用于发送HTTP请求,使用...
    99+
    2023-09-04
    python 开发语言 requests 网络爬虫
  • python—xlwt模块详解
    一、前言 xlwt模块是python中专门用于写入Excel的拓展模块,可以实现创建表单、写入指定单元格、指定单元格样式等人工实现的功能,一句话就是人使用excel实现的功能,这个扩展包都可以实现。 ...
    99+
    2023-09-04
    python excel 自动化办公 xlwt
  • Python re模块详解
    今天学习测试了一下Python中的正则表达式的模块用法。初学 Python ,对 Python 的文字处理能力有很深的印象,除了 str 对象自带的一些方法外,就是正则表达式这个强大的模块了。但是对于初学者来说,要用好这个功能还是有点难度,...
    99+
    2023-01-31
    详解 模块 Python
  • python requests模块详解
    requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib2提供了大部分需要的HTTP功能,但是A...
    99+
    2023-01-31
    详解 模块 python
  • python sys模块详解
      sys.argv           命令行参数List,第一个元素是程序本身路径 sys.modules.keys() 返回所有已经导入的模块列表 sys.exc_info()     获取当前正在处理的异...
    99+
    2023-01-31
    详解 模块 python
  • 详解Python中的PyInputPlus模块
    目录安装PyInputPlus关键字参数min、max、greaterThan和lessThan关键字参数blank关键字参数limit、timeout和default关键字参数al...
    99+
    2024-04-02
  • 详解Python中的Array模块
    Python中的array模块是一个预定义的数组,因此其在内存中占用的空间比标准列表小得多,同时也可以执行快速的元素级别操作,例如添加、删除、索引和切片等操作。此外,数组中的所有元素...
    99+
    2023-05-15
    Python Array模块 Python Array
  • Java 中的io模型详解
    目录1. BIO2. NIO3. 多路复用最后再说几个小问题1. BIO 我们先看一个 Java 例子: package cn.bridgeli.demo;   imp...
    99+
    2024-04-02
  • Python中模块string.py详解
    一、用法 字符串常量: import string print(string.ascii_lowercase) print(string.ascii_uppercase) print(string....
    99+
    2022-06-04
    详解 模块 Python
  • python中os模块详解
    os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录…… os.sep可以取代操作系统特定的路径分隔符。windows下为 “\”,Linux下...
    99+
    2022-06-04
    详解 模块 python
  • Python中BeautifulSoup模块详解
    目录前言安装库导入库解析文档示例提取数据示例CSS选择器实例小项目总结前言     BeautifulSoup是主要以解析web网页的Python模块,...
    99+
    2024-04-02
  • Python之re模块详解
    目录Python——re模块 简介预定义字符特殊字符反斜杠问题匹配方法总结Python——re模块  简介 定义:re模块称为正则表达式; 作用:创建一个"规则表...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作