前言:
作者简介:短尾巴小鳄鱼 ,一位不放弃自己的上进卷妹
💬 如果文章知识点有错误的地方,请留言指正~和大家一起学习,一起进步
💬 人生格言:昨日种种,皆成今我。今日种种,方成新我。切莫踌躇,莫停留,莫沉溺💬
如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦
open函数可以生成文件对象,进行创建、读写操作
open(path,mode)
# path--文件路径
# mode--操作模式
# 返回一个文件对象
注意,open函数是内置函数不需要导入
例如:f = open('d://a.txt', 'w')
下面对第二个参数mode(操作模式)进行详细的讲解:
| 模式 | 描述 |
|---|---|
| w | 写文件,如果不存在则创建文件,如果存在则覆盖已有的内容 |
| w+ | 拥有w的功能,且可以对文件进行读取 |
| wb | 二进制形式写入文件,与w的区别是,w是写入字符串,而wb是写入比特类型 |
| wb+ | 与wb的区别是,不会覆盖内容,而是会追加内容 |
| a | 追加内容 |
| a+ | 与a的区别是,不仅可以追加,还可以进行读取 |
| ab+ | 二进制形式读写追加 |
open函数会返回一个文件对象,我们可以对这个文件对象进行写入想要的信息。具体方法如下:
| 方法 | 参数 | 描述 | 例子 |
|---|---|---|---|
| write | Message | 写入信息 | f.write(‘hello\n’) |
| writeliness | Message_list | 批量写入 | f.writelines([‘hello\n’,‘world\n’]) |
| close | 无 | 关闭并保存文件 | f.close() |
注意,如果我们open函数第二个参数传入的操作模式是含b的,那么上面两个函数write和writelines的参数要传入比特类型。
操作完文件后,一定记得使用close函数关闭并保存文件
例子:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Oe39DEqm-1660190790359)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220810153306516.png)]](https://1000bd.com/contentImg/2022/08/14/175117506.png)
执行完后,可以看到在当前路径下新增了a.txt文件,并且写入了内容。
如果想要再次写入文件,需要先再次使用open函数打开文件。
需要注意因为w是覆盖写入的,所以每次用open函数的w模式,就会清空文件内容,如果此时不写入任何东西,直接关闭,会保存为一个空文件。
w+模式的例子:
w+模式不仅可以写入,也可以读取写入的内容。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9TajM62D-1660190790361)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220810155228434.png)]](https://1000bd.com/contentImg/2022/08/14/175117779.png)
ab模式的例子:
ab模式为二进制追加写入内容,write函数传入的参数需要是比特类型
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g6ZOn7Qm-1660190790362)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220810161130318.png)]](https://1000bd.com/contentImg/2022/08/14/175118116.png)
a+模式,并且批量插入的例子:
批量插入想要换行也要在加\n
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T4T6zaO1-1660190790364)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220810161516577.png)]](https://1000bd.com/contentImg/2022/08/14/175118343.png)
| 模式 | 描述 |
|---|---|
| r | 读取文件 |
| rb | 二进制形式读取文件 |
| 方法 | 参数 | 描述 | 介绍 |
|---|---|---|---|
| read | 无 | 返回整个文件字符串 | f.read() |
| readlines | 无 | 返回文件列表 | f.readlines() |
| readline | 无 | 返回文件中的一行 | f.readline() |
| mode | 无 | 文件模式 | f.mode |
| name | 无 | 返回文件名称 | f.name |
| closed | 无 | 注意,与close函数不同,这个是用来判断文件是否关闭 | f.close |
注意,open函数中的模式选择了r模式,我们在读取文件时,就不需要seek函数先指定读取位置,会默认从头开始读取。
操作完文件后,一定记得使用close函数关闭文件
例子:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2lind2iG-1660190790365)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20220811112636065.png)]](https://1000bd.com/contentImg/2022/08/14/175118701.png)
使用with后不需要每次调用close()函数,python会自动调用
with open(path, mode) as f:
f.read()