文件操作
文件打开
- f = open(r'路径','打开模式',encoding='编码格式')
- 3种打开模式
- 'w',只写,覆盖从头写
- 'r' 只读
- 'a' 创建并写,接着写
- 读取所有文件数据
- f.read()
- 关闭
- f.close()
- 3种打开模式
- with 语句(常用)
- 会自动执行close()语句
- with open('file','r',encoding ='utf-8') as f:
文件操作
-
读:'r'
-
with open(r'file','r',encoding ='utf-8') as f: # r 可以取消字符中的转义符 data =f.read() print(data)
-
覆盖写:'w'
- 文件存在则写,不存在则创建再写,清空内容重新写。
data = 'aaa'
with open(r'file','w',encoding ='utf-8') as f:
# r 可以取消字符中的转义符
f.write(data)
f.write('haha')
- 追加写:'a'
- 文件存在则写,不存在则创建再写,追加再后面写。
data = 'aaa'
with open(r'file','a',encoding ='utf-8') as f:
# r 可以取消字符中的转义符
f.write(data+\n) #带换行符
f.write('haha')
- wt,rt,at 文本读写,只读或者只写
- wb, rb 二进制读写
- w+,r+,a+ 文本读写,可读可写
r模式详解
- 一次性读完
- f.read(索引位置) 可以放读取到的最后索引位置,默认为-1
- 每次读一行
- f.readline()
- f.readlines() 所有数据读出来放到一个列表里
- f.readable() 判断是否可读
w、a模式详解
- f.write('') 清空原内容,一次写入新内容
- f.writelines(可迭代内容)
- f.writable() 是否可写
- fp.flush() 文件写完后刷新到硬盘中
控制文件内的指针移动seek
- 用于写文件
- f.tell() 当前指针所在的索引位置
- f.seek(开始索引,模式控制) 函数
- 0模式,以0为开始位置,每次都从0 开始
- 1模式,以当前位置为参照,正数向后移动,负数向前移动,只能在二进制中使用,不能在文本文件中使用
- 2模式,以结尾位置为参照