打开文件操作open函数

发布时间 2023-03-26 20:44:26作者: 我不知道取什么名字好

open()是Python中的一个内置函数,用于打开文件并读取或写入文件。open()函数返回一个file object,可以对该文件进行读写操作。

下面是open()函数的用法:

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

open()函数的参数说明如下:

  • file: 字符串类型,表示文件名或文件路径
  • mode: 字符串类型,表示文件操作模式,默认为'r'(读模式)
  • buffering: 整数类型,表示文件的缓冲规模,默认为-1(系统默认值)
  • encoding: 字符串类型,表示文件的编码格式,默认为None(采用系统默认编码)
  • errors: 字符串类型,表示编码错误处理方式,默认为None(直接抛出异常)
  • newline: 字符串,表示行末标志,只在text mode下有效
  • closefd: 布尔类型,表示是否关闭底层的文件描述符,默认为True
  • opener: 用于打开文件的函数,应该与参数file一起使用,如果该参数被用于任何其他参数组合将引起TypeError异常

mode参数的取值如下:

  • 'r': 以只读方式打开文件(默认)
  • 'w': 以写入方式打开文件,会覆盖文件原有内容
  • 'a': 以追加方式打开文件,会在原有内容后追加新内容
  • 'x': 如果文件已经存在则失败,如果不存在则创建并打开文件
  • 'b': 以二进制模式打开文件
  • 't': 以文本模式打开文件(默认)
  • '+': 可读写模式。

下面是使用open()函数打开文件的常见用法示例:

# 以只读方式打开文件
file = open('text.txt', 'r')
content = file.read()
print(content)

# 关闭文件
file.close()

# 以写入方式打开文件,会覆盖文件原有内容
file = open('text.txt', 'w')
file.write('Hello, world!')
file.close()

# 以追加方式打开文件,会在原有内容后追加新内容
file = open('text.txt', 'a')
file.write('Python is awesome!')
file.close()

在使用open()函数操作文件时,需要特别注意文件关闭及异常处理等问题。一般而言,可以使用with语句打开文件,并自动关闭文件,在操作文件时及时捕获异常。以下是一个示例代码:

try:
    with open('text.txt', 'r') as file:
        content = file.read()
        print(content)
except FileNotFoundError:
    print('文件不存在')
except IOError:
    print('读取文件失败')