一.文件路径
1.相对路径
相对于当前程序所在的文件夹,如果在当前文件夹内,直接写文件名.如果不在这个文件夹内,需要进出文件夹.
../ 出文件夹
文件夹/ 进文件夹
2.绝对路径
从磁盘根目录寻找路径.一般只有在记录日志的时候可以用到据对路径
二.文件操作
1.r read 只读
读取文件全部内容.读完光标在末尾
f = open("text.txt",mode="r",encoding="utf-8") print(f.read(5)) #read(n) 读取n个字符 print(f.read(5)) print(f.readline()) print(f.readline()) # readline 一行一行读 print(f.readlines()) # readlines 返回一个列表,一行一行的
f.close() #养成良好习惯
2. w write 只写
每次使用w模式打开文件的时候,都会清空这个文件,也可以帮我们创建文件
f = open("test.txt",mode="w",encoding="utf-8") f.write("这个能不能写入 ") f.write("看看上一行是怎么写入的") #一般情况下,文件关闭后会自动刷新缓冲区.但有时候你需要在关闭前来刷新 f.flush() #用来刷新缓冲区 f.close()
3.a append 追加写入
在文件的末尾写入内容,也可以帮我们创建文件
f = open("test.txt",mode="a",encoding="utf-8") f.write("看一下能不能追加") #s = f.read() #io.UnsupportedOperation: not readable f.flush() f.close()
4.rb wb ab b是bytes 一般非文本文件用到,跟上面一样
5.r+ w+ a+ plus版 既能读又能写,重点是前面的r w a
6.rb+ wb+ ab+ 同理
三.文件句柄(打开文件的变量)
文件句柄是一个可迭代的对象
优点:相对来说节省内存,操作相对简单
f = open("text.txt",mode="r",encoding="utf-8")
for line in f: print(line.strip()) f.close()
四.光标
1.seek
f.seek(a,b) a表示光标移动的长度(字节byte) 一个中文3个字节(utf-8中)
b的参数 0 表示开始位置 1 表示当前位置 2表示末尾位置
2. tell
tell() 查询当前位置字节
五.文件删除重命名操作
需要导入 os 模块
os.rename(old,new) 重命名,把old改为new
os.remove(文件名) 删除文件