python3 笔记17 File(文件)方法

1.open()

      open()用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用这个函数,如果该文件无法打开就会跑出 OSError。

  • 注意:使用open()方法一定要保证关闭文件对象,即调用close()方法。
  • open()函数常用形式是接收两个参数:文件名(file)和模式(mode)。
open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)
  • file:必需,文件路径或相对路径
  • mode:可选,表示文件打开模式
  • buffering:设置缓冲
  • encoding:一般使用utf-8
  • errors:报错级别
  • newline:区分换行符
  • closefd:传入的file参数类型
  • openner:设置自定义开启器,开启器的返回值必须是一个打开的文件描述符
open()使用mode参数
mode描述
t文本模式(默认)
x写模式,新建一个文件,如果该文件已存在则会报错。
b二进制模式。
+打开一个文件进行更新(可读可写)
U通用换行模式(python3 不支持)
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+  打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb  以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件比如图片等。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制个事打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有的内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件结尾。如果该文件不存在,创建新文件用于读写

2.file对象

file对象使用open函数来创建,下表为file对象常用函数:

file对象相关函数
file.close()关闭文件。关闭文件后不能再进行读写操作。
file.flush()刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入到文件中,而不是被动的等待输出缓冲区写入。
file.fileno()返回一个整型的文件描述符(file descriptor FD整型),可以用在如os模块的read方法等一些底层操作上。
file.isatty()如果文件连接到一个终端设备返回True,否则返回False
file.next()

python3的file对象不支持next()方法。

返回文件下一行。

file.read(size)从文件读取指定的字节数,如果未给定或为负则读取所有。
file.readline([size])读取整行,包括“\n”字符。
file.readlines([sizeint])读取所有行返回列表,若给定sizeint字节的行,实际读取值可能比sizeint较大,因为需要填充缓冲区
file.seek(offset[,whence])移动文件读取指针到指定位置
file.tell()返回文件当前位置。
file.truncate([size])从文件的首行首字符开始截断,截断文件为size个字符,无size表示从当前位置截断;截断之后后面的所有字符被删除,其中wins系统下换行代表2个字符大小
file.write(str)将文件字符串写入文件,返回的是写入的字符长度
file.writelines(sequence)向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值