python中的文件操作
一. 文件读写
1>Python 内置了读写文件的函数,用法和 C 是兼容的
2>操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(又称文件描述符),再通过操作系统提供的接口对这个文件对象操作
文件操作过程:打开--->操作--->关闭
1. 读取文件
注:
<1>. 打开文件返回值是一个文件对象,如果文件不存在,open() 函数就会抛出一个 IOError 的错误,并且给出错误码和详细的信息告诉你文件不存在
<2>. 如果文件打开成功,调用 read() 方法可以一次读取文件的全部内容
<3>. 文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源
2. 文件写入
1> 当以写的方式打开文件,首先清空文件所有内容
2> 当以写的方式打开文件,只能写入,不能读取
3. 文件附加写a
注:文件以a方式打开,表示附加写,不可读
4. 文件读写r+
注:文件以r+方式打开,可进行读写两种操作
5. 文件读写w+
注:文件以w+方式打开,文加先清空,可进行读写两种操作
6. 文件读写a+
注:文件以a+方式打开,文件不清空,可进行读写两种操作
附:
1>不可读方式打开文件方式:w;a
2>文件不存在会新建的打开文件方式:w;w+;a;a+
3>如果读取的文件是一个非文本文件,在原有模式上加b;eg: 'rb',,'rb+', 'wb','wb+', 'ab', 'ab+'
理解模式不同的三个点:
1. 文件不存在,是否报错
2. 文件是否只读,只写,还是读写
3. 文件清空原有内容还是追加文本信息
###文件读写###
r 以读的方式打开,定位到文件开头 , 默认的 mode
r+ 以读写的方式打开,定位文件开头 , 可以写入内容到文件
w 以写的方式打开,打开文件的时候会清空文件的内容,并且不能读
w+ 以读写的方式打开,定位到文件头,并且打开文件的时候也会清空文件的内容
a 以写的方式打开,定位到文件的末尾,是一个追加的操作 , 但并不允许读
a+ 以读写的方式打开,定位到文件的末尾,追加的方式
二. 文件的其他操作
1. 文件的指针-f.seek()
seek()需要传两个参数:
第一个:偏移量;偏移量>0,代表向右移动的字符,反之表示向左移动的字符
第二个:0:文加开头;1:当前位置;2:文件末尾
注:f.tell()表示当前指针所在位置
2. f.readline()与f.readlines()
f.read()方法如果文件小,调用方便
f.readline()方法依次读取文件,仅返回一行文件信息
f.readlines()方法以列表方式返回文件信息,默认保留换行符,因此可以采用.strip方法过滤
3. f.writelines()
f.writelines()可以多行写入文本信息
4. 文件对象f是可迭代对象
判断是否可迭代方法:
1>isinstance(f,Iterable)
2>for 循环
三. 文件内置属性
f.closed #返回 bool 值,判断文件对象的状态
f.mode #看文件的打开模式
f.name #查看文件名
四. with语句
注:with...as打开文件不需要再次进行关闭,建议尽可能使用此方法
eg1:显示文件的所有行,但忽略以#开头的行