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

分类: 计算机技术
推荐阅读:
Python globals()函数 globals() 是 Python 内置函数之一,用于返回当前全局作用域中所有变量的字典。这个字典包含了所有已定义的全局变量,键为变量名,值为对应的值。可以通过修改这个字典中的变量来更新全局作用域中的变量。
网站被QQ拦截的解决方法 本文将讨论网站被拦截后的表现、被拦截的原因,以及使用官方通道进行申诉的方法;
在Python中如何表示无穷大 在Python中,可以使用float('inf')表示正无穷大,使用float('-inf')表示负无穷大。
Rust语言中获取数组的大小 Rust语言中,数组提供len()方法可获取数组中的元素数量,即数组的大小;
使用PySide6创建窗口以及各类窗口的区别 在本文中,你将了解Qt的窗口,以及QMainWindow、QWidget、QDialog之间的区别和在PySide6中的使用方法;
Golang实现base64加密解密 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。