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

分类: 计算机技术
推荐阅读:
MySQL ABS() 绝对值函数 ABS(x) 函数返回x的绝对值,如果x为NULL则返回NULL;
Python format()函数 Python 内置的 format() 函数是一种字符串格式化输出的方法,可以将变量插入到字符串中,并控制输出的格式。
使用Rust计算圆周率 要使用 Rust 计算圆周率,可以使用蒙特卡罗方法。该方法通过在单位正方形中生成随机点,并计算落在单位圆内的点的数量来估计圆周率。
使用PyInstaller将Python程序打包成EXE文件详细教程 通常我们执行python程序时,需要有Python环境,并要预先安装好需要使用的各个库,这样把程序给他人使用时不太方便;我们可以将python环境以及相应的运行库和程序源代码打包到一个单独的EXE文件中,这样分发程序就变得容易多了,从某种程度上说,还能起到保护程序源码不被泄露的作用。
Python set()函数 在 Python 中,set() 函数用于创建一个无序不重复元素集合。可以使用一个可迭代对象作为参数,例如列表、元组、字符串等。set() 函数会返回一个新的集合,其中包含传递给函数的唯一元素。
Python skimage库的pip安装方法 skimage库是Python语言中一个图像处理算法的集合,它是完全免费的,且不受限制;skimage的全称为scikit-image,属于第三方库,要在python中使用它,需要自行安装;