Python你必须了解的一些点——文件操作

一、文件打开模式

打开方式指针位置
r只读(默认 )指针在文件开头,文件不存在则报错
rb二进制只读指针在文件开头,文件不存在则报错
r+可读可写指针在文件开头,文件不存在则报错
rb+二进制可读可写指针在文件开头,文件不存在则报错
w只写文件存在,则覆盖;不存在,则创建
wb二进制只写文件存在,则覆盖;不存在,则创建
w+可读可写文件存在,则覆盖;不存在,则创建
wb+二进制可读可写文件存在,则覆盖;不存在,则创建
a追加文件存在,指针在文件尾追加;不存在,则创建
ab二进制追加文件存在,指针在文件尾追加;不存在,则创建
a+可读可写文件存在,指针在文件尾追加;不存在,则创建
ab+_二进制可读可写文件存在,指针在文件尾追加;不存在,则创建
  1. 默认读取文件都是ASCII编码的文本文件
  2. 如果读取的文件是二进制文件,如图片,视频需要使用’rb’模式
  3. 读取非ASCII编码的文本文件,必须 以二进制模式打开,再解码

f=open(‘E:/test.txt’,‘rb’)
f.read().decode(‘gbk’)

二、文件打开方法

打开方式eg文件不存在是否需要调用 close()方法
openf=open(‘E:/test.txt’,‘r’)文件不存在则会IOError必须书写调用close()
withwith open(‘E:/test.txt’,‘r’) as f文件不存在则会IOErrorwith自带close()方法
  1. 文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也有限
  2. 当写文件时,操作系统不会立刻将数据写入磁盘,而是放内容缓存,空闲时再写入,只有调用close()方法时,操作数据才会将没有写入的数据写入磁盘。不写close()方法有可能只写了一部分数据到磁盘,剩下的数据丢失了
  3. 文件不存在,可以用try…finally避免,但与with比较麻烦

三、文件读写定位操作

操作方法用法
f.read(size)f.read()一次性读取文件全部内容,返回类型str;有size读size(字节)的内容
f.readline()每次读取一行内容,返回类型str
f.readlines()一次读取所有内容并按行返回list
f.write()写文件
定位f.seek(offset,from_what)f.seek(2,0)读取位置向后移动2个字符
当前f.tell()f.tell(),返回当前文件位置
  1. 文件很小,可一次性读取,文件较大,超过内存大小,内容爆掉
  2. 文件过大,可用f.read(size),x为每次最多读取size字节的内容
  3. 如果是配置文件,调用 readlines()最方便
  4. 将字符串写入文件,如果写入结束,需要在字符串后面加上"\n"
  5. from_what值为文件的开始位置,可以省略;offset为偏移量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值