Python处理文件

注:文中图片来源于慕课网“https://www.imooc.com/learn/416”

文件打开方法:open(name[,mode[buf]]),name为文件名,mode为读取方式,buf为读取缓冲大小

文件读取方式:read([size]),读取指定长度,如果size不存在,则读取全部

                       readline([size]),读取一行中size长度

                      readlines([size]),读取文件size长度,返回每一行所组成的列表

                     iter:使用迭代器完成文件读取操作

文件写入方式:write(str),将字符串写入文件

                        writelines(sequences_of_strings),写多行到文件

mode(读取方式):

r,只读方式打开,文件必须存在

w,只写方式打开,文件不存在则创建,文件存在则清空文件内容

a,追加方式打开,文件不存在则创建

r+/w+,读写方式打开

a+,追加和读写方式打开

rb,wb,ab,rb+,wb+,ab+ 以二进制方式打开

示例:test.txt的内容为 12345678

open('text.txt','r'):只能读,不能写

open('text.txt','w'):打开后内容变为空,再写入 abc,结果为 abc

open('text.txt','a'):打开后写入  abc ,结果为 12345678abc

open('text.txt','r+'):打开后写入  abc ,结果为 abc45678

open('text.txt','w+')同open('text.txt','w')


readline(size): 当前行剩余长度>size,返回当指定长度;否则返回当前行剩余内容

readlines(size): 读取到size长度,返回一个列表,每一行作为一个数据项,且最后指针所在行会全部读取

示例:文件为 12\n12\n12\n,当size为4时,会返回['12\n','12\n']

iter: 可以把文件变为迭代对象,一行一行遍历

f = open("...")
iter_f = iter(f)
for line in iter_f:
    print(line)

f.close()


写操作时,由于有写缓存机制,执行write后,需要关闭文件或调用flush函数,内容才会真正写入到文件;当写入量大于等于缓存空间时,写缓存会自动同步到磁盘文件中

f.close()或者f.flush()


文件指针移动:f.seek(...)

seek(offset[,whence]),offset为偏移量,可以为负数但当前位置加上偏移量不能超出文件范围,whence为偏移相对位置

whence:os.SEEK_SET   相对文件起始位置,0

                os.SEEK_SUR  相对于当前位置,1

                os.SEEK_END  相对于文件结尾位置,2

f.tell()返回当前指针所在的位置


文件属性:

file.fileno() 文件描述符

file.mode 文件打开权限

file.encoding 文件编码格式

file.closed 文件是否关闭






ini配置文件:

需要导入 configparser


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值