一.文件读写步骤
1.打开文件(只写文件名,默认打开的是当前目录的文件。其他路径写绝对路径)
2.对文件进行读/写操作
3.关闭文件
二.读文件
1.当不添加utf-8时,报编码错误,
在打开文件那加上encoding = 'utf-8' ,就不会报错 即file = open('读写文件',encoding='utf-8')
注意:路径前面加'r',表示不转义,否则在写绝对路径的时候会被转义报错
file = open(r'读写文件',encoding='utf-8')
2.文件打开的三种方式 open方法的第二个参数填写,文件打开模式
2.1 只读模式 (r) ,写文件会报错 第二个参数默认的是只读模式。
写报错截图:
*****三种读取文件的方法
a. read()方法获取文件中的所有内容
b. readline()获取文件第一行的内容
c. readlines() 获取文件的所有内容,把换行符\n也读取,并放到list中
读模式(r)文件指针:read()和readlines()每读取完文件所有内容,文件指针就移动到末尾 readline()每读取一行,文件指针移动到下一行的前面。
r模式缺点:1.不能写文件 2.文件不存在时,会报错:FileNotFoundError
2.2写模式(w)
只能写,不能读,而且写的内容会覆盖原文件内容。慎用,做好备份!!!
写模式读文件,写模式报错截图:
写模式(w)文件指针:文件指针在文件的开头。所以,写的内容会覆盖原文件内容
w模式缺点:1.不能读文件,2.写入新的文件内容会清空原来文件内容。
2.3写读模式(w+) 能写也能读,覆盖原有的东西。能读但是读不到内容。
写读模式(w+)文件指针:写文件时,文件指针在最前面,写完后,文件指针就移动到了末尾。所以读不到内容!
w+模式缺点:写新的内容,会覆盖清空原有文件里的数据
2.4读写模式 ( r+) 能写也能读,文件指针写完后,移到文件的的最前面。
读写模式文件指针:写完文件后,文件指针会移动到最前面。所以能读取到文件内容。
r+缺点:当文件不存在时,报FileNotFoundError错误
2.5追加模式:a 能写文件并从文件末尾追加
a模式文件指针:写完文件,在文件的末尾。
a模式缺点:1.不能读,因为写完文件后,文件指针在末尾,所以读取不到文件内容2.文件不存在会报错
2.6 追加读写模式 a+ 能写也能读,但读不到内容。当文件不存在时,自动创建文件。
a+文件指针:因为写完文件内容,文件指针在文件的末尾。所以读取不到内容。
a+缺点:文件指针位置没有在最前面,读取不到文件内容。
2.7 a+模式 与seek()方法一起用。就可以弥补a+读取不到内容的缺点了。
通过seek方法,把文件指针移动到最前面就可以读取到文件的内容
总结:只要和r有关的,只读模式:r和读写模式文件:r+,文件不存在肯定会报错。只要和w有关的,写会清空覆盖原有文件的内容。追加模式记住a+和seek()方法就完美了。即能读又能写文件不存在还自动创建。
3.关闭文件
file.close()
4.其他方法
writelines()方法 传的是list