前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python3 文件操作open() 方法超全详解

python3 文件操作open() 方法超全详解

原创
作者头像
python鱼霸霸
修改2020-04-26 10:17:24
1.2K0
修改2020-04-26 10:17:24
举报
文章被收录于专栏:python入门学习教程

#####python3:open() 方法

代码语言:txt
复制
#open()常用方法是接收两个参数,分别是文件名(file)和模式(mode)
f = open('文件路径' , '模式')      #这里的模式指的是处理文件的方式,是打开还是写入还是追加等等

在python3中我们用open() 方法来打开一个文件(可以是文本、图片、视频等),并且返回文件的对象

我们在对文件进行的处理过程中都需要用到open()函数,但是当文件无法被打开,python3会抛出 OSError错误

使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。

代码语言:txt
复制
f = open('文件路径' , '模式')  
f.close()

文件使用完毕后必须关闭,因为文件对象会占用系统的资源,并且系统能打开的文件数量也是有限的

open() 方法的完整语法格式

代码语言:txt
复制
open(file, mode='r', buffering=-1 , encoding=None , errors=None , newline=None , closefd=True , opener=None)
  • file---文件路径,是open()方法必需的参数,指文件的相对或者绝对路径
  • mode---模式,可选参数,指文件打开的方式
  • buffering---设置缓冲策略,也是一个可选参数,它一般有三种设置。
  1. buffering设置为0时,即表示不使用缓冲,直接进行读写,但是这个设置只在二进制模式下有效
  2. buffering设置为1时,表示在文本模式下使用行缓冲区方式
  3. buffering设置大于1时,表示缓冲区的设置大小
  • encoding---文件编码格式,可选参数,一般为utf-8或者gbk,只在文本模式下使用
  • errors---可选参数,它指定python如何处理编码或解码错误,它也不能在二进制模式下使用。以下为一些标准错误的处理程序:
    1. 当指明为'strict'时,编码出错抛出异常ValueError,默认值None具有相同的效果。
  1. 'ignore'---忽略错误。请注意,忽略编码错误可能会导致数据丢失。
  2. 'replace'使用某字符进行替代模式,(例如'?')插入到存在格式错误的数据的位置。
  3. 'surrogateescape'将表示任何不正确的字节,作为从U DC80到U DCFF范围内的Unicode私人使用区域中的代码点。当写入数据时使用surrogateescape错误处理程序时,这些专用代码点将被转回相同的字节。这对于处理未知编码中的文件很有用。
  4. 仅当写入文件时,才支持'xmlcharrefreplace'。编码不支持的字符将替换为相应的XML字符引用
  5. 'backslashreplace'通过Python的反斜杠转义序列替换格式错误的数据。
  6. 'namereplace',也仅在编写时支持,用\ N {...}转义序列替换不支持的字符。
  • newline---用来控制文本模式之下,一行的结束字符。可以是None,’’,\n,\r,\r\n等
  • closefd---如果closefdFalse并且给出了文件描述器而不是文件名,则当文件关闭时,基本文件描述器将保持打开。如果给定文件名,则closefd必须为True(默认值),否则将产生错误。
  • opener---用来实现自己定义打开文件方式

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档