iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python open读取文件内容时的mode模式解析
  • 858
分享到

python open读取文件内容时的mode模式解析

2024-04-02 19:04:59 858人浏览 安东尼

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

摘要

python可以使用open函数来实现文件的打开,关闭,读写操作; python3中的open函数定义为:open(file, mode='r', buffering

python可以使用open函数来实现文件的打开,关闭,读写操作;

python3中的open函数定义为:open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)其中mode列表为:
'r' #open for reading (default)
'w' #open for writing, truncating the file first
'x' #create a new file and open it for writing,Python3新增
'a' #open for writing, appending to the end of the file if it exists
'b' #binary mode
't' #text mode (default),python3新增
'+' #open a disk file for updating (reading and writing)
'U' #universal newline mode (deprecated)

这里我们主要关心一下'r', 'w', 'a', 'r+', 'w+', 'a+', 'x',很多人容易混淆不同模式的读写操作

'r'

只读模式,open函数中mode参数的默认模式,文件不存在的话,报FileNotFoundError(python2是ioError);
文件打开后,初始游标位置为0;
每次读都是从游标位置开始读;
如果进行了写操作,会报如下异常:
io.UnsupportedOperation: not writable

'w'

只写模式,文件不存在的话,创建文件;文件存在的话,首先清空文件,然后开始写;
文件打开后,初始游标位置为0;
每次写都是从游标位置开始写;
如果进行了读操作,首先文件也会被清空,会报如下异常:
io.UnsupportedOperation: not readable

'a'

追加模式,文件不存在话,创建文件;文件存在的话,不会清空文件;
文件打开后,初始游标位置为文件结尾;
每次写都是从结尾开始写;
如果进行了读操作,同时报如下异常:
io.UnsupportedOperation: not readable

上面的比较好理解,下面就有点绕了

'r+'

读写模式,文件不存在的话,报FileNotFoundError(python2是IOError);
文件打开后,初始游标位置为0;
每次读写都是从游标位置开始;但是对于写操作,类似于替换操作;
看如下代码:
文件内容为:abcdefg
代码内容为:

f = open('open_mode.txt', 'r+')
f.write('xyz')
f.close()

运行代码后,文件内容变为:xyzdefg

'w+'

只写模式,文件不存在的话,创建文件;文件存在的话,首先清空文件;
文件打开后,初始游标位置为0;
每次读写都是从游标位置开始;写操作,类似于替换操作;

'a+'

追加模式,文件不存在话,创建文件;文件存在的话,不会清空文件;
文件打开后,初始游标位置为文件结尾;
每次写都是从结尾开始写;
读操作从游标位置开始;

'x'

python3新加
创建文件并写操作,操作必须是不存在的文件,如果操作的文件已存在,则报错FileExistsError
不可读,如果进行了读操作,同时报如下异常:
io.UnsupportedOperation: not readable

'b'

二进制形式读写文件;
写数据时,写入的数据类型必须为字符串类型,其他类型必须通过JSON(就是符合json格式的字符串)写入
python2与python3对于'b’ mode的行为不同,这和python2与python3的字符串类型有关;事实上,python的字符串类型有两种;
Python2的两种字符串类型,分别叫做str和Unicode,str实例包含原始的8位值;而unicode的实例,则包含Unicode字符。
Python2的两种字符串类型,分别叫做byte和str,与python2不同的是,byte实例包含原始的8位值;而str的实例,则包含Unicode字符。
当读写文件采用'b'的模式时,要求必须以二进制形式读写,在python2中,字符串必须为str字符串,python3中必须为byte字符串;所以在python3,'b'模式下这样读写字符串

s = b'hello world!' #注意是byte字符串
f = open('open_mode.txt','wb')
f.write(s)

或:

s = 'hello world!'f= open('open_mode.txt','wb')
f.write(s.encode(encoding='utf-8'))

不然会报如下错误:

Traceback (most recent call last):
File"C:/Users/Desktop/Python/cnblogs/数据类型.py", line 125, in f.write(s)
TypeError: a bytes-like object is required, not 'str'

到此这篇关于python open读取文件内容时的mode模式解析的文章就介绍到这了,更多相关python open读取文件内容内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python open读取文件内容时的mode模式解析

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python open读取文件内容时的mode模式解析
    Python可以使用open函数来实现文件的打开,关闭,读写操作; Python3中的open函数定义为:open(file, mode='r', buffering...
    99+
    2024-04-02
  • python open读取文件内容时的mode模式实例分析
    今天小编给大家分享一下python open读取文件内容时的mode模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来...
    99+
    2023-06-30
  • Python 读取文件里的内容
    读取文件内容有三个方法:Read() 读取整个文件Readlines()按行读取整个文件Readeline()按行读取一行内容 现需求是:读取整个文件的内容,并打印在控制台上 刚写入的文件不能直接打印,需要在关闭后再次读取,然后打印内容。如...
    99+
    2023-01-31
    文件 内容 Python
  • java读取文件内容,解析Json格式数据方式
    目录java读取文件内容,解析Json格式数据一、读取txt文件内容(Json格式数据)二、解析处理Json格式数据三、结果存入数据库四、测试java 读取txt文件中的json数据...
    99+
    2024-04-02
  • python怎么读取文件内容
    Python中可以使用`open()`函数来读取文件内容。`open()`函数需要传入文件的路径和打开方式作为参数。以下是一个示例,...
    99+
    2023-09-05
    python
  • python如何读取文件内容
    在Python中,可以使用`open()`函数来打开一个文件,并使用`.read()`方法来读取文件的内容。以下是一个示例:```p...
    99+
    2023-08-25
    python
  • python怎么读取文本文件内容
    要读取文本文件内容,可以使用Python中的open()函数来打开文件,并使用read()方法来读取文件内容。下面是一个简单的示例:...
    99+
    2024-03-05
    python
  • 怎么用python读取文件内容
    使用Python读取文件内容的方法有很多种,以下是几种常用的方法: 使用open()函数打开文件,然后使用read()方法读取文...
    99+
    2023-10-24
    Python
  • python怎么读取txt文件内容
    这篇文章主要讲解了“python怎么读取txt文件内容”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python怎么读取txt文件内容”吧!python读取txt文件的方法:1、使用read...
    99+
    2023-06-20
  • python如何读取json文件内容
    在Python中,可以使用`json`模块来读取JSON文件的内容。具体步骤如下:1. 导入`json`模块:```pythonim...
    99+
    2023-09-15
    python json
  • python如何读取txt文件内容
    要读取txt文件内容,可以使用Python内置的open()函数来打开文件并读取内容。以下是一种简单的方法: # 打开文件 with...
    99+
    2024-04-02
  • python如何读取mat文件内容
    这篇文章主要介绍“python如何读取mat文件内容”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python如何读取mat文件内容”文章能帮助大家解决问题。首先,我们这里先打开matlab,随便在...
    99+
    2023-07-02
  • python神经网络tfrecords文件的写入读取及内容解析
    目录学习前言tfrecords格式是什么tfrecords的写入tfrecords的读取测试代码1、tfrecords文件的写入2、tfrecords文件的读取学习前言 前一段时间对...
    99+
    2024-04-02
  • 【Python】使用Python读取JSON文件中的内容
    文章目录 一、JSON文件简介二、借助Python处理JSON文件1、读取字典类型的JSON文件2、读取列表类型的JSON文件3、封装读取JSON文件的函数 一、JSON文件简介...
    99+
    2023-08-31
    python json
  • Python怎么读取文件的一段内容
    要读取文件的一段内容,可以使用以下步骤:1. 打开文件:使用`open()`函数打开文件,并传入文件路径和打开模式(例如:`'r'`...
    99+
    2023-08-08
    Python
  • python怎么读取文件多行内容
    Python可以使用open()函数来打开文件,并使用readlines()方法读取文件的多行内容。 下面是一个示例: # 打开文件...
    99+
    2024-02-29
    python
  • 利用Python中的内置open函数读取二进制文件
    在python中读取一个文本文件相信大家都比较熟悉了,但如果我们遇到一个二进制文件要读取怎么办呢?我们尝试使用 Python 中的内置 open 函数使用默认读取模式读取 zip 文...
    99+
    2024-04-02
  • Python读取文件比open快十倍的库fileinput
    目录1. 从标准输入中读取2. 单独打开一个文件3. 批量打开多个文件4. 读取的同时备份文件5. 标准输出重定向替换6. 不得不介绍的方法7. 进阶一点的玩法8. 列举一些实用案例...
    99+
    2024-04-02
  • Python读取文件内容出现中文乱码怎么解决
    在Python中,如果你读取文件内容出现中文乱码,可以尝试以下方法解决:1. 指定文件编码:在使用`open()`函数读取文件时,可...
    99+
    2023-10-12
    Python
  • python怎么实现循环读取文件内容
    可以使用open()函数打开文件,并使用read()函数循环读取文件内容。以下是一个示例代码: with open("fi...
    99+
    2024-02-29
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作