Python3 自学第14天:文件操作,文件句柄,上下文管理器

Python3 自学第14天:文件操作,文件句柄,上下文管理器writelines:将一个序列字符串列表写入文件中,实例代码:文件读操作:'r'如果文件不存在,用'r'读模式

欢迎大家来到IT世界,在知识的湖畔探索吧!

Python3 自学第14天:文件操作,文件句柄,上下文管理器

前面我们了解了Python的异常处理和自定义异常,今天我们了解下Python的文件操作;

首先Python对文件的处理并不是直接操作的,而是去调用操作系统接口方法间接操作文件的,这样做的目的是为了确保操作系统安全性。

1.文件读写操作:open函数

格式:
open(file, mode='r', 
 encoding=None, buffering=-1,
 errors=None, newline=None,
 closefd=True, opener=None)
比较常用的是前四个:
file: 必需,文件相对或者绝对路径
mode: 可选,文件打开模式
encoding: 一般使用utf8
buffering: 设置读取文件的缓冲区,是一段内存区域。

欢迎大家来到IT世界,在知识的湖畔探索吧!

文件写操作: ‘w’(w:write)

Python3 自学第14天:文件操作,文件句柄,上下文管理器

使用’w’写模式时,如果文件不存在,open()会创建一个新文件。

如果修改上面写入的数据再次执行代码,会发现文件内容是最新的数据,并不会保留之前已经写入的数据。

如果出现乱码了,你需要设置encoding=’utf-8’参数。

注意:打开文件并写入数据的时候,并不是立马就写入到磁盘文件中,而先写入内存缓冲区中,然后再写入文件。

write():将字符串写入文件,返回的是写入的字符长度。

writelines(sqe):将一个序列字符串列表写入文件中,实例代码:

Python3 自学第14天:文件操作,文件句柄,上下文管理器

文件读操作:’r’(r:read)

Python3 自学第14天:文件操作,文件句柄,上下文管理器

如果文件不存在,用’r’读模式是会报错的

Python3 自学第14天:文件操作,文件句柄,上下文管理器

文件存在时,运行结果:

Python3 自学第14天:文件操作,文件句柄,上下文管理器

read() 读取所有数据

read(size) 每次读多少个字节数据

readline() 每次读取一行

readlines() 读取所有行并返回列表

readlines(size) 每次读取多行数据

2. 操作模式

上面我们已经了解了文件的’r’和’w’两种操作模式,我们再详细说下其它操作模式。

追加模式: ‘a’(a:append),这种模式数据会被追加到末尾,不会覆盖上次写的数据。

Python3 自学第14天:文件操作,文件句柄,上下文管理器

文件加号+ 模式:一般与其它操作模式组合使用表示更新操作

r+ 可读也可写,不存在会报错

w+ 可读也可写,不存在会创建文件

a+ 可读也可写,不存在会创建文件

w+ 和 a+区别:开始写数据的位置不同。

注意:w+ 模式每次执行都会建一个新文件,如果打开已存在的文件,原有文件内容会被删除的。

Python3 自学第14天:文件操作,文件句柄,上下文管理器

二进制模式:‘b’(b:binary)

open()文件操作默认为文本模式,如果操作二进制文件(如:图片)加上 b 就可以了;

如:rb+ wb+ ab+

注意了,文件操作完后一定要记得调用close()函数关闭文件流。

3. 异常处理

Python3 自学第14天:文件操作,文件句柄,上下文管理器

4. 文件句柄

文件句柄,这个词听起来很抽象,让人有种距离感,其实就是上面open()函数返回的文件对象 f,Python中一切皆对象),这样理解就简单多了。

实例代码:

Python3 自学第14天:文件操作,文件句柄,上下文管理器

5. 上下文管理器 with

欢迎大家来到IT世界,在知识的湖畔探索吧!格式:
with open() as 别名 :

这样会让代码简单清晰,最关键省去了文件操作完毕后close()函数的显示调用,实例代码:

Python3 自学第14天:文件操作,文件句柄,上下文管理器

6.文件指针移动

Python3 自学第14天:文件操作,文件句柄,上下文管理器

Python3 自学第14天:文件操作,文件句柄,上下文管理器

上面的实例中,第一次read()时,tell为22,说明在追加模式下指针这会在文件结尾处,所以读取不到数据。

seek(offset[, whence])

移动文件读取指针到指定位置。

offset:开始的偏移量,如果是负数表示从倒数第几位开始。

whence:表示要从哪个位置开始偏移,

0 代表从文件开头开始算起,默认值

1 代表从当前位置开始算起,

2 代表从文件末尾算起;

python文件操作就了解到这里,大家有什么问题请在评论区里留言,下次我们开始正式学习面向对象编程,欢迎大家多多关注!

上一篇:Python3 自学第13天:异常处理,自定义异常

【极客干货】从事IT行业十余年,在移动互联网开发,J2EE企业级开发,IOT物联网,AI人工智能等方面有点技术积累,熟练使用C/C++,Java,Python等编程语言。从2009年开始接触Python,后续借空闲时间将个人熟悉的技术干货系统性分享给大家,也许我的分享会让你少走一些弯路,如果您觉得还可以,请多多关注,评论和转发,非常感谢!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/32328.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信