文件读写操作
1.open()函数使用格式
f=open(filename,mode) #将open方法赋值给f变量,open方法是对文件进行读写操作,返回值为file对象,所以是将f赋值给file对象,然后继续读写操作选择
#filenme参数为操作的文件路径,可以是绝对路径,也可以是相对理解
#mode为打开文件的模式,有r(只读)、w(只写)、a(追加)、x(新建)、b(二进制模式,rb/rw/ab,操作bytes数据)、+(读写模式,r+/w+/a+)
f.write() #进行写操作
f.read() #进行读取操作
f.close() #关闭文件,防止文件内容丢失等风险
2.文件格式读取
#读取文件编码为gbk类型的文本内容(默认是UTF-8)
f=open('gbk.txt','r',encoding='gbk')
f.read()
3.文件对象操作
#读取对象(设置size大小,默认按文本格式读取并输出整个文本内容)
f=open('test.txt','r') #将f赋值给open()方法对象
str=f.read() #对open对象进行读取方法的操作,read()方法里面可以带size参数,当读取的文本内容过大时,可以进行设置逐步写入内存读取
print(str) #控制台打印显示所有文本内容
f.close() #调用close()方法关闭文件
## 4.读取对象(读取第一行内容)
f=open('text.txt','r')
str=f.readline() #以换行符'\n'作为识别,读取一行数据(从第一行开始读取),默认读取整行,带参数可以选择每行的字符个数
print(str)
f.close
#读取多行数据(while循环每循环一次读取一行数据,当读取文本最后一行后,内容为空就退出循环)
while str:
print(str)
str=f.readline()
f.close
5.读取对象(多行读取)
f=open('test.txt','r')
str=f.readlines() #将文本内容读取至列表中,每行作为一个列表元素,以换行符结尾
print(str)
f.close()
#打印显示每行数据
f=open('song.lrc','r',encoding='utf8')
str=f.readlines()
for line in str:
print(line)
6.遍历文件(逐行读取文本内容)
f=open('song.lrc','r',encoding='utf8')
for line in f: #将文件对象作为迭代器使用
print(line,end='')
f.close()
7.写入对象
f=open('test.txt','w') #使用open方法把文件对象设置写模式,
f.write('hello') #对文件调用写方法操作,方法的参数为指定写入的字符串内容
f.close
8.with关键字(上下文管理机制)
#用于处理open()方法读写过程中的异常错误、非正常关闭导致文件损坏问题,不再需要写close()
#打开单个文件
with open('test.txt','w') as f:
f.write('hello')
#打开多个文件
with open('test1.txt','w') as f1,open('text2.txt','w') as f2: #分别以写和读的模式打开两个文件
s1=f1.read()
f2.write(s1) #将读模式读取的文件内容写入到写模式的文件中