文件操作:
打开文件,读写文件,操作文件内容
写入文件操作:(把大象装进冰箱)
1.打开文件 open() #1.打开冰箱门
2.向文件中添加内容 write() #2.把大象塞进去
3.关闭文件 close() #3.关闭冰箱
读取文件操作:(把大象从冰箱中取出来)
1.打开文件 open() #1.打开冰箱门
2.读取文件内容 read() #2.把大象拿出来
3.关闭文件 close() #3.关闭冰箱
with open(文件,打开方式) as 变量:
变量.操作()
#文件操作相关的函数
open() 打开或者建立文件
格式:open(‘文件路径’,‘打开方式’,encoding = ‘设置字符集’)
打开方式:
基础模式:
w w模式 write 写入模式
1.文件不存在则新建文件,文件存在则打开并且清空文件
2.指针在最前面
(指针对应的是字节)
r r模式 read 读取模式
1.文件不存在则报错,文件已存在则打开文件
2.指针在最前面
x x模式 xor 异或模式
1.文件不存在则新建文件,文件已存在则报错
2.指针在最前面
a a模式 append 追加模式
1.文件不存在则新建文件,文件已存在则打开文件
2.指针是在最后面
扩展模式:
b b模式 bytes bytes模式
+ plus模式 增强模式
文件操作模式:
w,r,a,x
wb,rb,ab,xb
w+,r+,a+,x+
wb+,rb+,ab+,xb+
close():关闭文件对象,方便回收资源
文件打开就要关闭!
输入流(InputStream)和输出流(OutputStream)
read() 读取文件内容
格式:文件io对象.read() *
读取所有内容
格式:文件io对象.read(读取的字节个数)
读取指定长度的字符
readline() 一次读取一行的内容
格式:文件io对象.readline() *
读取一行内容
格式:文件io对象.readline(字节数)
读取内容:如果个数>当前行的字节数,只读取当前行,如果读取的字节数<=当前行字符串,按照指定的长度读取
readlines() 一次读去多行内容 *
格式:文件io对象.readlines()
将所有数据按行读取到列表当中去
格式:文件io对象.readlines(字节数)
将所有数据按行读取到列表当中去
注意:如果字节数不满1行按照一行计算
首行如果出现”\ufeff“,叫做叫BOM(ByteOrder Mark)(字节标记)用来声明该文件的编码信息.
解决方案:读取文件时指定编码方式为 "utf-8-sig"即可
write() 向文件中写入内容 *
格式:文件io对象.write(内容)
writelines() 将容器数据写入到文件当中 #
格式:文件io对象.writelines(容器类数据)
truncate() 截取文件内容 #
格式:文件io对象.truncate(字节个数)
从文件的首行首字符开始截断,截断文件为 size 个字节,无 size 表示从当前位置(指针)截断;截断之后后面的所有字符被删除
seek() 设置指针的偏移
格式:文件io对象.seek(偏移位置)
高级操作模式
with 方法
with open(参数。。。) as 文件io对象:
具体的操作代码...
具体的操作代码...