Python open()函数

open()函数是Python中用于打开文件的内置函数。它可以打开一个文件,并返回一个文件对象,以便对文件进行读取、写入、追加等操作。

open()函数语法

open()函数的语法如下:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

参数说明:

  • file:要打开的文件路径和名称,可以使用相对路径或绝对路径。
  • mode:打开文件的模式;如果不指定,默认为只读模式'r'
    • 'r':只读模式。默认情况下,如果不指定文件模式,则文件会以只读模式打开。如果文件不存在,则会抛出FileNotFoundError异常。
    • 'w':写入模式。如果文件存在,则覆盖文件中的内容。如果文件不存在,则创建一个新文件。
    • 'x':独占写入模式。如果文件不存在,则创建一个新文件。如果文件已经存在,则会抛出FileExistsError异常。
    • 'a':追加模式。如果文件存在,则在文件末尾添加新的内容。如果文件不存在,则创建一个新文件。
    • 'b':二进制模式。用于处理非文本文件,如图片、音频等。
    • 't':文本模式。默认情况下,如果不指定文件模式,则文件会以文本模式打开。
    • 可以使用一个或多个文件模式,以逗号分隔。例如,要以只读和二进制模式打开文件,可以这样写: file = open('filename', 'rb')

  • buffering:文件缓冲的大小。如果为-1或不指定,则使用系统默认值。
  • encoding:文件的编码方式。默认为None,表示使用系统默认编码方式。
  • errors:编码错误的处理方式。默认为None,表示忽略错误。其他可选值包括'strict'(抛出UnicodeError异常)、'ignore'(忽略错误)和'replace'(用?代替错误)等。
  • newline:文本模式下,读取或写入文件时使用的换行符。默认为None,表示使用系统默认换行符。其他可选值包括'\n''\r''\r\n'等。
  • closefd:如果为True,则表示在文件关闭时同时关闭文件描述符。默认为True
  • opener:一个可调用对象,用于打开文件。默认为None,表示使用内置的open()函数。

open()函数返回一个文件对象,可以使用该文件对象进行文件操作,如读取文件内容、写入文件内容等。当操作完成后,需要使用close()方法关闭文件对象,以释放资源。

open()函数示例

# 打开文件并读取内容
f = open('test.txt', 'r')
content = f.read()
print(content)

# 关闭文件对象
f.close()

# 打开文件并写入内容
f = open('test.txt', 'w')
f.write('Hello, world!')
f.close()

# 打开文件并追加内容
f = open('test.txt', 'a')
f.write('\nHow are you?')
f.close()

# 打开文件并读取一行内容
f = open('test.txt', 'r')
line = f.readline()
print(line)

# 打开文件并读取所有行的内容
f = open('test.txt', 'r')
lines = f.readlines()
print(lines)

# 关闭文件对象
f.close()

可与with语句配合使用:

# 打开文件并读取内容
with open('test.txt', 'r') as f:
    content = f.read()
    print(content)

file 对象

在打开文件后,可以使用文件对象来读取或写入文件内容。下面是一些常用的文件对象方法:

  • file.read(size):读取文件中size个字节的内容。如果没有指定size,则会读取整个文件。
  • file.readline():读取文件中一行的内容。
  • file.readlines():读取文件中所有行的内容,并返回一个列表,每个元素为一行的字符串。
  • file.write(string):将字符串写入文件。
  • file.writelines(list):将字符串列表写入文件,每个元素为一行的字符串。
  • file.close():关闭文件对象。

注意,在使用write()writelines()方法写入文件时,必须以二进制或文本模式打开文件。在使用read()readline()方法读取文件时,文件必须以相应的模式打开。

file 对象属性

在文件对象中还有一些属性,用于获取有关文件的信息。下面是一些常用的文件对象属性:

  • file.closed:判断文件是否已关闭,如果已关闭则返回True,否则返回False
  • file.mode: 返回文件的打开模式,例如'r'(只读)、'w'(写入)、'a'(追加)、'x'(排他)等等。
  • file.name: 返回文件的名称。
  • file.encoding: 返回文件的编码格式,如果文件没有指定编码格式,则返回None

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/python-built-in-functions/python-open.html

分类: 计算机技术
推荐阅读:
使用pip安装Python PIL库的正确方法 正确使用pip工具安装Python中PIL库的方法如下:
C语言生成指定长度的字符串密码 在C语言中使用当前时间和进程识别码作为随机种子,生成一个指定长度,内容随机的字符串密码;
C语言交换两个变量 在C语言中交换两个变量,需要创建一个临时变量来存储其中的一个值;例如交换a,b两个值时,需创建一个临时变量保存a的值,再将b值赋予a,最后将临时变量的值赋予b,完成交换过程;
如何在MATLAB中画函数的图像 要使用MATLAB绘制函数图形,请按照以下步骤进行操作:
IDLE是什么? IDLE是Python的一个集成开发与学习环境(Integrated Development and Learning Enviroment);与Python捆绑在一起,安装好Python以后,IDLE会自动安装;它使用Python 和Tkinter Gui编写。
PySide6 事件详细教程 在PySide6中,事件是GUI应用程序中用户交互和其它系统事件的基本构成块;PySide6中的事件允许您捕获和处理各种类型的事件,从而实现对用户界面的交互和响应;