返回顶部
首页 > 资讯 > 后端开发 > Python >python open读取文件内容时的mode模式实例分析
  • 354
分享到

python open读取文件内容时的mode模式实例分析

2023-06-30 13:06:22 354人浏览 独家记忆

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

摘要

今天小编给大家分享一下python open读取文件内容时的mode模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来

今天小编给大家分享一下python open读取文件内容时的mode模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

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频道。

--结束END--

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

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

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

猜你喜欢
  • python open读取文件内容时的mode模式实例分析
    今天小编给大家分享一下python open读取文件内容时的mode模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来...
    99+
    2023-06-30
  • python open读取文件内容时的mode模式解析
    Python可以使用open函数来实现文件的打开,关闭,读写操作; Python3中的open函数定义为:open(file, mode='r', buffering...
    99+
    2024-04-02
  • Python文件操作,open读写文件,追加文本内容实例
    1.open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。 file_object = open('thefile.txt...
    99+
    2022-06-04
    文件 实例 文本
  • Python 读取文件里的内容
    读取文件内容有三个方法:Read() 读取整个文件Readlines()按行读取整个文件Readeline()按行读取一行内容 现需求是:读取整个文件的内容,并打印在控制台上 刚写入的文件不能直接打印,需要在关闭后再次读取,然后打印内容。如...
    99+
    2023-01-31
    文件 内容 Python
  • java读取文件内容,解析Json格式数据方式
    目录java读取文件内容,解析Json格式数据一、读取txt文件内容(Json格式数据)二、解析处理Json格式数据三、结果存入数据库四、测试java 读取txt文件中的json数据...
    99+
    2024-04-02
  • python怎么实现循环读取文件内容
    可以使用open()函数打开文件,并使用read()函数循环读取文件内容。以下是一个示例代码: with open("fi...
    99+
    2024-02-29
    python
  • 【Python】使用Python读取JSON文件中的内容
    文章目录 一、JSON文件简介二、借助Python处理JSON文件1、读取字典类型的JSON文件2、读取列表类型的JSON文件3、封装读取JSON文件的函数 一、JSON文件简介...
    99+
    2023-08-31
    python json
  • Android 读取assets和raw文件内容实例代码
    android之文件操作——读取assets和raw文件下的内容 1.分别创建assets文件夹和res/raw文件夹:(要注意的raw文件是在res下new,然后创建一个名字...
    99+
    2022-06-06
    raw文件 Android
  • Python怎么读取文件的一段内容
    要读取文件的一段内容,可以使用以下步骤:1. 打开文件:使用`open()`函数打开文件,并传入文件路径和打开模式(例如:`'r'`...
    99+
    2023-08-08
    Python
  • Java高效读取大文件实例分析
    1、概述本教程将演示如何用Java高效地读取大文件。Java——回归基础。2、在内存中读取读取文件行的标准方式是在内存中读取,Guava和ApacheCommonsIO都提供了如下所示快速读取文件行的方法:Files.readLines(n...
    99+
    2023-05-30
  • PHP中文件读取的示例分析
    这篇文章主要介绍PHP中文件读取的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.两个函数的语法:  fread()fread    ( reso...
    99+
    2023-06-14
  • 利用Python中的内置open函数读取二进制文件
    在python中读取一个文本文件相信大家都比较熟悉了,但如果我们遇到一个二进制文件要读取怎么办呢?我们尝试使用 Python 中的内置 open 函数使用默认读取模式读取 zip 文...
    99+
    2024-04-02
  • python神经网络tfrecords文件的写入读取及内容解析
    目录学习前言tfrecords格式是什么tfrecords的写入tfrecords的读取测试代码1、tfrecords文件的写入2、tfrecords文件的读取学习前言 前一段时间对...
    99+
    2024-04-02
  • Python读取文件的四种方式的实例详解
    目录学生数量特别少的情况停车场空间不够时怎么办?怎么加快执行效率?怎么加快处理速度?结语故事背景:最近在处理Wikipedia的数据时发现由于数据量过大,之前的文件读取和数据处理方法...
    99+
    2024-04-02
  • HTML5中FileReader分布读取文件的示例分析
    这篇文章给大家分享的是有关HTML5中FileReader分布读取文件的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。先上效果图先介绍一下H5中FileReader的一些...
    99+
    2024-04-02
  • C++使用ifstream读取文件内容的示例详解
    测试文件如下内容:myfile.txt Fry: One Jillion dollars. [Everyone gasps.] Auctioneer: Sir, ...
    99+
    2023-03-01
    C++ ifstream读取文件内容 C++ ifstream读取文件 C++ ifstream
  • pandas文件读取和保存的示例分析
    这篇文章将为大家详细讲解有关pandas文件读取和保存的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、Excel 文件的读取(read_excel)pd.read_excel(io, ...
    99+
    2023-06-27
  • node.js实现逐行读取文件内容的代码
    在此之前先介绍一个逐行读取文件内容NPM:https://github.com/nickewing/line-reader,需要的朋友可以看看。 直接上代码: function readLines(in...
    99+
    2022-06-04
    代码 文件 内容
  • Python自动化办公之Word文件内容的读取
    目录前言利用 python 批量读取文件word利器之python-docxpython-docx 安装python-docx 之 Documentpython-docx 之段落内容...
    99+
    2024-04-02
  • Python实时读取数组文件时如何避免内存泄漏?
    Python是一种广泛使用的编程语言,因为它易于学习、灵活、强大。但是,当Python处理大型数据集时,可能会导致内存泄漏问题。在本文中,我们将探讨如何在Python中实时读取数组文件时避免内存泄漏。 内存泄漏是一种常见的问题,它会导致程序...
    99+
    2023-07-06
    实时 数组 文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作