python读取文件并处理_Python之文件处理

文件操作基本流程:

1.打开一个文件,生成文件句柄并赋值给变量;

2.通过文件句柄对文件进行操作;

3.关闭文件。

文件读取模式:

r,只读模式(默认)。【只可读;不存在则报错;存在则删除内容(用得最多);】

w,只写模式。【不可读;不存在则创建;存在则首先清除原文件内容;】

a,追加模式。【不可读;不存在则创建;存在则只追加内容(光标不改变写入位置);】

"+" 表示可以同时读写某个文件:

r+,可读写文件。【可读;可写;可追加】

w+,写读,【用该模式创建句柄后,首先清除原文件内容,慎用。】

a+,追加,可读。

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用):

rU

r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注):

rb

wb

ab

'rb+','wb+','ab+'同上文本模式。

open()函数:

语法:open(name,mode,encoding=None)

参数解释:name为路径\文件名,mode为读取模式(默认只读模式'r'),encoding为指定文件编码方式(默认为操作系统的编码方式)

应用:生成文件句柄类型的对象,该对象提供对所打开的文件的操作方法,可通过该对象对文件进行各读写操作。

f = open('test', 'r', encoding='utf-8')#以只读模式(r)打开文件test.txt,指定文件编码utf-8#f成为文件句柄,文件句柄中存在对文件操作的方法

文件句柄下的方法:

-----------------------------------------文件写操作相关-------------------------------------------------------------------

f.write()

写操作,'w','a','a+'或'r+'模式下,可将字符串类型的文本数据传入函数,写进文件,

'wb','ab'模式下,可将二进制编码数据以字符串类型传入函数,写进文件。

f.writelines()

传入列表或元组等可迭代对象,并将其中的元素写入文件。

f.writable()

判断该句柄类型是否支持写操作,返回布尔值。

-----------------------------------------文件读操作相关-------------------------------------------------------------------

f.read()

读操作,读取整个文件,将读取结果以字符串的方式返回(根据打开模式rb或r决定返回的是二进制数据或文本数据)。

默认从当前光标位置读到文件末尾,可传入参数,从当前光标位置读取指定数量的字符。

f.readline()

读取一行(读完\n停止),并返回。

f.readlines()

读取整个文件,并将读取内容按行放入列表中返回。

f.readable()

判断该句柄是否支持读操作,返回布尔值。

-----------------------------------------文件关闭操作相关-------------------------------------------------------------------

f.close()

关闭文件。

f.closed

文件句柄的一个属性,存放布尔值,根据布尔值判断文件是否已关闭。

-----------------------------------------文件光标操作相关-------------------------------------------------------------------

f.seek()

设置光标位置,字节为基本单位。

默认第二个参数是0,0模式代表相当于文件开头位置设定光标位置。

以二进制模式打开文件时,第二个参数可设为1和2,1模式代表相对当前光标位置偏移光标位置;

2模式代表从文件末尾设定光标的偏移量,例如f.seek(-3, 2)代表光标从文件末尾开始,向前偏移3个字节。

f.tell()

返回当前光标位置

-----------------------------------------文件其他操作相关-------------------------------------------------------------------

f.name

文件名属性。

f.flush()

刷新操作,将内存中写好的内容刷新到硬盘文件上。

f.truncate()

文件截取操作,从文件开头截取指定长度的字节长度内容写入文件中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值