一.文件的打开模式
1.控制文件读写操作的模式
1.1 r :只读模式, 文件不存在时报错,文件存在是指针在文件开头
1.2 w:只写模式,文件不存在时创建文件,文件存在时清空文件,指针在文件开头
1.3 a:只追加写模式,文件不存在时创建文件,文件存在时指针在文件末尾
a 与w 总结:
相同点:在打开文件不关闭的情况下,连续的写入,新的内容永远在老内容后面
不同点:重新打开文件,w会清空文件,a 会保留原文件,且指针在文件末尾
2.控制文件读写内容的模式
1.1 t:默认模式,读写都是字符串为单位,必须要指定encoding
1.2 b 读写都是bytes 为单位,一定不能指定encoding
补充:
raw模式加上+都可变的可读可写
tb必须与raw共用,不写表示默认t
上下文管理 with open() as f,不需要再写f.close()
二.文件操作的其他方法
f.read() 括号内不写内将文件全部读取,若写了数字,在t模式下按字符计数,其他模式按字节计数
f.readline() 读取一行内容
f.readlines()将文件内容逐行转成字符串放进列表中
f.write()写入文件
f.writelines()将括号内的数据遍历出来,添加进文件
f.name() 返回文件路径
三 .控制文件指针的移动
控制文件内指针的移动都是以字节为单位,只有一种情况例外,在t模式下,read(n),n代表的是字符,其余情况全是字节
语法:f.seek(移动位数,模式)
模式:0,参照文件的开头,(只有0模式能在t下使用,1,2模式只能在b模式下使用)
模式1:参照当前指针位置
模式2:参照文件末尾
文件开头 seek(0,0)
文件末尾 seek(0,2)