本篇主要详解一下对文件的相关操作包括文件的打开、文件读写、关闭、文件定位、重命名及删除文件等
一、打开和关闭文件
1、文件打开
f=open('c.txt','r',encoding='utf-8')
参数详解:
参数1:文件名称,可以写相对路径和绝对路径,不写则表明文件在当前目录下
参数2:文件打开的模式
参数3:文件编码格式,Windows下文件编码格式默认为gbk,创建文件时定义编码格式
模式详解:
常用的几种模式:r,r+,w,w+,a,a+
r:默认模式为只读,该模式下文件必须存在
r+:可对文件读写,写的话也会把之前的覆盖掉
w:打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
w+:续写模式,如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
a:追加模式,不可读,不存在则创建,存在则追加写
a+:追加模式,追加读写,默认指针在文件最后,如果文件不存在,则创建新文件
Ur---'U'表示在读取时,将 换行符转化成
2、文件关闭
f.close()
文件打开则对应着文件关闭
with 模式,可以自动关闭文件省去close,支持同时操作多个文件
举例说明with模式下,文件内容的修改替换,并不产生新的文件
eg:
with open('a.txt',"r",encoding='utf-8')as fa,#换行加‘’
open('b.txt','a+',encoding='utf-8')as fb:
linea=fa.read()
lineb=linea.replace('a','b')
fb.write(lineb)
os.remove('a.txt')
os.rename('b.txt','a.txt')
----此时会自动关闭文件
二、文件的操作方法
f=open('b.txt','a+')
1、f.tell()---查看文件指针的位置
2、f.seek(0)---把文件指针移动到文件最前边
3、f.write('aaa')---写入内容,写字符串
4、f.read()----读取文件所有内容,返回值为字符串
5、f.readline()---读取文件一行
6、f.readlines()---读取文件每一行,返回内容为列表,每一行为一个元素值
7、f.writeliens(['1','2'])----写一个list
8、f.writable()---判断文件是否可写
9、f.truncate()----清空文件内容(如果为追加模式,指针在文件最后,需要移动指针)
10、f.flush()---写完立即生效,一般是在程序结束后才写