iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python Open函数详解
  • 498
分享到

Python Open函数详解

python开发语言linux 2023-10-24 19:10:26 498人浏览 薄情痞子

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

摘要

这里写目录标题 一级目录二级目录三级目录1、文件IO的常见操作2、打开操作Open2.1 file 文件名2.2 mode 模式2.2.1. R模式:mode = "r"2.2.2. W模式:

这里写目录标题

一级目录

二级目录

三级目录

1、文件io的常见操作

方法
open打开
read读取
write写入
close关闭
readline行读取
readlines多行读取
seek文件指针操作
tell指针位置

2、打开操作Open

打开一个文件,返回一个文件对象(流对象)和文件描述符,打开文件失败,返回异常

open(file,mode=“r”,buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)

2.1 file 文件名

打开或者要创建的文件名,如果不指定,默认当前路径

2.2 mode 模式
模式功能备注
r缺省值,只读打开文件,指针位于文件头前提:文件已创建
w只写模式打开文件,或文件存在,会清空原有内容,即覆盖写1.文件存在:清空文件。
2.文件不存在,创建新文件
a追加,只写1.文件存在:清空文件。
2.文件不存在,创建新文件
x创建并写入一个新文件注意:如果该文件已存在则会报错
+为r、w、a、x 提供缺失的读写功能前提:文件不存在
b二进制模式,字节流前提:文件不存在

借用网上大神图示一张:
在这里插入图片描述
示例:

2.2.1. R模式:mode = “r”
#mode = r,文件要存在file_r = open("test.txt")print(file_r)print(file_r.read())file_r.write("abc")file_r.close()

运行结果:
在这里插入图片描述

2.2.2. W模式:mode = “w”
#mode = Wfile_r = open("test1.txt",mode="w")file_r.write("abc")print(file_r)print(file_r.read())file_r.close()

运行结果:
在这里插入图片描述

2.2.3. a模式:mode = “a”
#mode = afile_a = open("test1.txt",mode="a")file_a.write("追加内容")file_a.close()

运行结果:
在这里插入图片描述

2.2.4. a模式:mode = “x”
file_a = open("test2.txt",mode="x")file_a.write("追加内容x")file_a.close()

运行结果:
在这里插入图片描述

在这里插入图片描述

2.2.5. “+”模式,mode=“+”
#mode = +file_xx = open("test.txt",mode="r+")file_xx.write("test追加内容")  #使用+后,原本r只读的模式,也可写入内容print(file_xx.read())file_xx.close()

在这里插入图片描述

2.3 encoding: 编码,仅文本模式使用

None表示使用缺省编码,windows缺省:GBK,linux缺省使用UTF-8
文件打开时如果报错:UnicodeDecodeError,刚使用此参数对文件进行编码读取,我们看下报错情况

#encodingfile_xx = open("test.txt",encoding="GBK")print(file_xx.read())file_xx.close()

运行结果:
在这里插入图片描述

2.4 buffering: 缓冲区
2.4.1. 缓冲buffer与缓存Cache的区别

缓冲(Buffer):

  • 常见于对数据的暂存,然后批量传输或者写入, 多使用顺序的方式,用来缓解不同设备之间频繁地、缓慢地随机写。
  • 缓冲的作用就是协调上下层应用之间的性能差异,可以有效减少上层组件对下层组件的等待时间,可提升整个系统的性能
  • 可以把它理解为一个蓄水池,达到一定的容量就全部释放,缓冲区的数据释放到磁盘

缓存(Cache):
常见于对已读数据的复用,通过将它们缓存在相对高速的区域,缓存主要针对的是读操作。
在这里插入图片描述

2.4.1. Buffering取值说明
取值二进制文本
buffering=-1io.DEFAULT_BUFFER_SIZE(4096或8192)io.DEFAULT_BUFFER_SIZE
buffering=0禁止缓存,关闭缓冲区不支持
buffering=11line buffering(行缓存),遇到换行符才flush
buffering > 1buffering自设置值io.DEFAULT_BUFFER_SIZE

示例:

在这里插入代码片

3、seek()文件指针操作

fileObject.seek(offset[, whence])
注:

  1. ffset – 开始的偏移量,也就是代表需要移动偏移的字节数
  2. whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;
    0代表从文件开头开始算起,
    1代表从当前位置开始算起,
    2代表从文件末尾算起。
    注意:
    文本模式支持向后偏移,但1,2偏移量只支持0,所以没什么作用
    二进制模式支持任意偏移,向后seek可以超界,向前seek不可超界,否则异常

示例:

#seek(0,0)f1= open('test.txt','r')line = f1.readline()print('**************************')print(line)f1.seek(0, 0)print('########################')line = f1.readline()print(line)f1.close()

运行结果:
在这里插入图片描述
2.seek(x,1)//从当前位置偏移x位 x 可为正负零,

f1= open('test.txt','rb')line = f1.readline()print('**************************')print(line)f1.seek(2, 1)print('########################')line = f1.readline()print(line)

4、readline/readlines

  1. readline(size=-1):一行一行读取,size设置一次能读取行内几个字符或字节
  2. readlines(hint=-1):读取所有行的列表,指定hint则返回指定的行数

示例:

#readlinesf = open("test.txt")for line in f.readlines():    print(line)f.close()# #readlinef = open("test.txt")print(f.readline())print(f.readline())print(f.readline())f.close()

5、with…as 上下文

写入文件时,如果忘记close或者文件使用过程中发生异常,则文件将不会正常关闭,占用系统资源,python提供了with…as上下方管理来处理这种情况

内部处理逻辑:

def __enter__(self):    return selfdef __exit__(self, type, value, traceback):    self.close()

示例:

with open("test.txt") as f:    print(f.read())

6、open总结

一个文件打开之后,会产生一个文件对象,这个文件可为:只读,只写,读写。可被seek,即文件指针来回动,seek要看模式,允许从前向后走。文件有buffer,建议默认Buffer。文件换行符可控制。文件描述符占用资源,close会自动释放掉

来源地址:https://blog.csdn.net/totorobig/article/details/127430672

--结束END--

本文标题: Python Open函数详解

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

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

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

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

下载Word文档
猜你喜欢
  • Python Open函数详解
    这里写目录标题 一级目录二级目录三级目录1、文件IO的常见操作2、打开操作Open2.1 file 文件名2.2 mode 模式2.2.1. R模式:mode = "r"2.2.2. W模式:...
    99+
    2023-10-24
    python 开发语言 linux
  • Python文件读写open函数详解
    前言: open()函数的定义:def open(file, mode='r', buffering=None, encoding=None, errors=None...
    99+
    2022-11-11
  • python open函数中newline参数实例详解
    目录问题的由来具体实例总结问题的由来 我在读pythoncsv模块文档 看到了这样一句话 如果 csvfile 是文件对象,则打开它时应使用 newline=‘&rsqu...
    99+
    2022-11-11
  • python的open函数
    python的open函数: r是只读,r+是读写,a是追加,w是新建(覆盖) 注:1、写入内容时记得加"\n"换行,变量是b+"\n"(b为变量名)2、读取文件内容时注意加strip(),去掉"\n" 示例: #!/usr/bin/py...
    99+
    2023-01-31
    函数 python open
  • python使用open函数对文件进行处理详解
    目录1.open()1.1 参数11.2 参数21.3 参数32.with open() as3.open函数常用的方法3.1 读3.2 写3.3 获取文件读写类型3.4 指针移动3...
    99+
    2022-11-11
  • Python利用open函数读写文件的示例详解
    目录最简单读取文件操作操作一次文件读写完整流程文件打开方式python提供的读取方法有何意义小案例: 扫描redis配置文件总结在目前的环境中,读取文件应该算是最基本的操作了,pyt...
    99+
    2023-05-16
    Python open实现读写文件 Python open读写文件 Python 读写文件
  • linux 中open()函数详解及简单实例
    open()函数创建文件时便捷的权限设置 头文件 #include <sys/types.h> #include <sys/stat.h> #include <fcnt...
    99+
    2022-06-04
    详解 函数 实例
  • Python的open()函数如何用
    本篇内容主要讲解“Python的open()函数如何用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python的open()函数如何用”吧!1.文件处理在 Python 中使用文件的关键函数是...
    99+
    2023-06-29
  • 详解Python中open()函数指定文件打开方式的用法
    文件打开方式 当我们用open()函数去打开文件的时候,有好几种打开的模式。 'r'->只读 'w'->只写,文件已存在则清空,不存在则创建。 'a'->追加,写到文件末尾 'b'->...
    99+
    2022-06-04
    详解 函数 方式
  • python函数详解
    结构:    def  函数名():        函数体执行:    函数名()返回值:    return    一,函数中,遇到return终止函数    二,返回值,返回给了函数的调用者:函数名()    return单个值,返回单...
    99+
    2023-01-31
    详解 函数 python
  • python中函数open有哪些参数
    python中open函数的参数有以下几种open:open()函数的作用是用于打开一个文件。open()函数语法:open(name[, mode[, buffering]])参数:name:必需,需打开文件的路径。mode:必需,文件打...
    99+
    2022-10-23
  • python中open函数怎么使用
    open函数是Python内置的一个函数,用于打开文件并返回一个文件对象。它的使用方法如下:1. 基本语法:```open(file...
    99+
    2023-09-14
    python
  • python中open函数如何使用
    在Python中,open函数用于打开文件,并返回一个文件对象。可以通过使用不同的模式来指定打开文件的方式。基本语法如下:```op...
    99+
    2023-10-07
    python
  • python中open函数在哪个库
    python中open函数不属于任何第三方库,open函数属于python的内置函数,主要用来打开一个文件。具体使用步骤:首先打开python编辑器,新建一个py文件。在py文件中定义一个对象调用open函数打开一个指定的文件。f = op...
    99+
    2022-10-20
  • Python 文件处理之open()函数
    目录1.文件处理2.Python 文件写入3.创建新文件4.删除文件实例删除文件夹前言: 文件处理是任何 Web 应用程序的重要组成部分。 Python 有几个用于创建、读取、更新和...
    99+
    2022-11-13
  • Python isalpha()函数详解
    「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 isalpha...
    99+
    2023-10-23
    python 网络安全 人工智能 机器学习
  • python imread函数详解
    Python 中各种imread函数的区别与联系 最近一直在用python做图像处理相关的东西,被各种imread函数搞得很头疼,因此今天决定将这些imread总结一下,以免以后因此犯些愚蠢的错误。如果你正好也对此感...
    99+
    2022-06-02
    python imread函数 python imread函数讲解
  • Python函数介绍:open函数的功能和示例
    Python函数介绍:open函数的功能和示例Python中的open函数是一个非常重要的函数,它被用来打开文件并对文件进行读取或写入操作。本文将深入介绍open函数的使用及其参数,并提供一些示例来说明其用法。open函数的基本用法使用op...
    99+
    2023-11-03
    - 示例 - 功能 - open函数
  • 探究python中open函数的使用
    最近,开始学习python的开发,遇到了一点文件操作的问题,探究一下open函数的使用。 一、open()的函数原型 open(file, mode=‘r', buffering=-1, encoding=...
    99+
    2022-06-04
    函数 python open
  • python函数和python匿名函数lambda详解
    目录1. python函数1.1 函数的作用1.2 函数定义1.3 函数调用1.4 函数的参数1.4.1 参数的传递1.4.2 参数类型1.4.2.1 位置参数(必备参数)1.4.2...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作