文件的句柄:f = open("file/wuse", mode="r", encoding="utf-8")
open命令里分三部分,文件路径,文件模式,编码格式
(1):相对路径,相对于你当前程序所在的文件夹 ../表示返回上一层目录,一般做项目都用这个
绝对路径一是从磁盘根目录寻找,二是互联网上的一个绝对路径
(2)文本文件的打开模式: t模下式,换行符占两个byte,seek给值时候要注意的
1: r模式,也是rt模式,打开不存在文件时会报错,存在正常打开
f.read() 读取整个文件,光标在末尾 f.flush 刷新
f.readline() 一行一行读取文件,光标在本行末尾, f.close 关闭文件,也是关闭句柄
f.readlines() 读取多行,光标在最后一行末尾.不推荐使用 for i in readlines 一行一行读取,不存在内存满溢的情况
rb模式,也是读模式,多用于打开图片视频之类的,每行字符串的末尾都会用\n换行,开头则是用b开头代表bytes类型,同r模式类似.读时要指定解码类型
2: w模式,也是wt模式.打开不存在文件时会自动创建该文件,存在时则清空原文件
f.write 一次可以写一行的字符串
f.writelines 可以将多行的内容一次写出来 \n 要注意是换行符,加在每行字符串的结尾 \t 是文件的制表符一般加在首行之前,相当于一个TAB的缩进 a.strip()可以取消空格
wb模式,也是写模式,多用于打开图片视频之类的,每行字符串的末尾都会用\n换行,开头则是用b开头代表bytes类型,同r模式类似.读时要指定遍码类型
3: a模式 也是追写模式.打开文件,光标会出现在字符串的末尾,文件不存在时则创建,常用语编写日志文件
4: r+模式 也是读写模式,必须是先读. 因为默认光标是在开头的. 准备读取的. 当读完了之后再进行写入.使用频率高
深坑请注意: 在r+模式下. 如果读取了了内容. 不论读取内容多少. 光标显示的是多少. 再写入 或者操作文件的时候都是在结尾进行的操作
w+模式 也是写读模式,一开始读取不到数据,写完之后才能读取
5:with open("吃的", mode="r", encoding="utf-8") as f1 不用写f1.close()
6: seek(n) 光标移动到n位置, 注意, 移动的单位是byte. 所以如果是UTF-8的中文部分要是3的倍数. 通常我们使用seek都是移动到开头或者结尾.
移动到开头: f.seek(0)
移动到结尾: f.seek(0,2) seek的第二个参数表示的是从哪个位置进行偏移, 默认是0, 表示开头, 1表示当前位置, 2表示结尾
print(f.tell()) 读取光标的位置
print(f.readable()) 判断文件是否可读 print(f.writable()) 是否可写入
f.truncate() 不给参数. 从文件头.截取到当前位置 f.truncate(15) 给了参数. 从文件头截取到你给这个参数的位置,注意参数是以byte为单位的
7: 文件修改
创建新文件. 把修改后的内容写入新文件. 删除老文件. 重命名新文件
import os
os.remove("")删除文件
os.rename("源文件", "新文件名") 重命名文件