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:显示文件的所有行,但忽略以#开头的行


eg2:把/etc/passwd文件中所有的“root”字符串替换为“sky”,将更换后的另存为/tmp/passwd文件


展开阅读全文

没有更多推荐了,返回首页