今日主要学习了
1. 初识文件操作
2. 只读(r, rb)
3. 只写(w, wb)
4. 追加(a, ab)
5. r+读写
6. w+写读
7. a+写读(追加写读)
8. 其他操作方法
9. 文件的修改以及另一种打开文件句柄的方式
一. 初识文件操作
1. 文件中我们经常用open来打开文件,或取到文件的句柄. 然后通过文件句柄就可以对文件进行各种各样的操作了.根据打开方式的不同能够执行的操作也会有不同的操作.
打开文件的方式: r ,w,a ,a+,w+,a+,rb,wb,ab,r+b,w+b,a+b默认使用的是r(只读)模式
打开文件的基本操作: f= open('文件名',mode="r",encoding='utf-8')
路径:
1) 相对路径: 从文件内部一步一步的找到目标文件.
进文件: 文件名/
出文件: ../
2) 相对路径:
直接从磁盘里找到目标文件(这里有问题 ,建议少用)
日志:程序运行过程中记录的所有信息.
二. 只读操作(r, rb)
相关操作:1. read()默认的是读取全部内容
read(n)注意这里可以在括号里放数字n,这里的数字指的是读取几个字符
2.readlines()这里表示的意思是读取一行 用strip可以去除 readlines是一次性把所有的内容全部读出来,返回的是列表.
for line in f:
print(line)
这里的line指的是每一行的内容
f = open("护士少妇嫩模.txt",mode="r", encoding="utf-8")
content = f.read()
print(content)
f.close() #关闭文件
encoding表示的是编码集.根据文件的实际保存编码进行获取数据,常用的是utf-8
三. 只写操作.(w , wb)
这里的只写操作是在文件中写入数据.但是有一个问题 ,每次再用" w"的时候都会清空文件.
只写文件可以创建文件 . 如果你输入的文件不存在,会帮你创建一个文件,在执行只写操作
好习惯:
f.flush() 刷新管道
f.close() 关闭文件
四. 追加操作 .(a ,ab)
追加顾名思义,在最后追加,我们写入的内容会直接追加到文件的尾部.
这里的追加操作也可以创建新的文件
五. r+操作 偏重于读
必须是先读在写,一开始光标默认实在开头,准备读取的,当读完之后在进行写,使用频率相对来说比较高.
六 .写读操作(w+,w+b) 写读操作注重的是写
必须先写,在读( 这里读到的内容是空的)
先将所有的内容清空,再然后写入,最后读取.但是读取的内容是空的,不常用
六.追加读(a+)
a+模式下,不管是先读,还是后读,都是读取不到数据的.
七.其他操作
1. seek() 移动光标
f.seek(m,n) 两个参数
m: 这里的m表示的是偏移量
n:表示的是从n位置开始便宜默认是0 ,1 表示的是当前位置 , 2 表示的结尾
2 . tell 返回光标的所在位置
文件的修改(重点)
导入os模块 ,os模块表示的是操作系统 import os
1. 先从文件中读取内容.
2.把需要进行的修改的内容进行修改
3.把修改好的内容放到一个新的文件中
4.删除原来的文件
5 .把文件重命名成原来的文件名字
在这里引入了一个新的语法词语: with
with可以帮我们自动关闭文件的链接
with open("夸一夸alex", mode="r", encoding="utf-8") as f, / ==>这里的/表示的是这两行代码是一行的 open("夸一夸alex_副本", mode="w", encoding="utf-8") as f2: for line in f: if "好人" in line: line = line.replace("好人", "sb") f2.write(line) time.sleep(3) 程序停止三秒
with中会出现两个特殊函数
__enter__ --> 调用with函数的时候会自动执行这个函数 __exit__ --> 出现错误的时候,会被这个方法捕获到
with函数的好处
执行结束后会自动关闭这个操作,并且在处理错误的时候也会比较简洁