主要内容:
1、了解文件操作
2、只读(r,rb)
3、只写(w,wb)
4、追加(a,ab)
5、r+ 读写
6、w+ 写读
7、a+ 写读(追加写读)
8、其他操作方法
9、文件的修改以及另一种打开文件句柄的方式
一、文件操作:
- 使用python来读写文件是非常简单的操作,我们使用open()方法来打开一个文件,拿到文件的句柄,然后通过文件句柄就可以进行操作文件了,根据打开方式的不同能够执行的操作也会有相应的差异
- 打开文件的方式:r,w,a,r+,w+,a+,rb,wb,ab,r+b,w+b,a+b 默认使用的是r(只读)模式
- 语法:open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
- file: 必需,文件路径(相对或者绝对路径)
- mode: 可选,文件打开模式
- buffering: 设置缓冲
- encoding: 一般使用utf8
- errors: 报错级别
- newline: 区分换行符
- closefd: 传入的file参数类型
- opener:默认None
二、只读操作
f = open('a.txt', mode='r', encoding='utf-8')
content = f.read()
print(content)
f.close()
- encoding表示编码集,根据文件的实际保存编码进行获取数据,一般都是使用utf-8
rb 读取出来的数据是bytes类型,在rb模式下,不能选择encoding字符集
读取文件的方法:
- read(),将文件中的数据一次性全部读取出来,弊端:占内存,如果文件过大,容易导致内存崩溃
f = open('a.txt', mode='r', encoding='utf-8')
content = f.read()
print(content)
f.close()
-
read(n),读取文件中n个字符,需要注意的是,如果再次读取, 则会在当前位置继续去读而不是从头读,如果使用的是rb模板,则读取出来的是n个字节
-
reading(),一次读取一行数据,需要注意的是,reading()结尾,每次读取出来的数据都会带有一个\n,所以需要配合使用strip()方法去掉\n或者空格
f = open('a.txt', mode='r', encoding='utf-8')
content = f.reading()
content1 = f.reading()
content2 = f.reading()
print(content)
print(content1)
print(content2)
f.close()
- readlines(),将每一行形成一个元素放到列表中,将所有的内容都读取出来, 所以也容易出现内存崩溃的问题,不推荐使用
f = open('a.txt', mode='r', encoding='utf-8')
lst= f.readlines