📜  如何使用 open - Python (1)

📅  最后修改于: 2023-12-03 15:23:56.886000             🧑  作者: Mango

如何使用 open() 函数 - Python

在 Python 中,open() 是打开文件的内置函数,它可以用于打开文件进行读写操作,同时也可以用于创建一个新文件。

语法

open() 函数的语法如下:

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

其中,

  • file:表示要打开的文件名(包括路径)。
  • mode:表示打开文件的模式,有以下几种模式:
    • 'r':只读模式(默认)。
    • 'w':只写模式。如果文件存在,会被覆盖;如果文件不存在,则创建一个新文件。
    • 'x':独占写模式。如果文件存在,会引发 FileExistsError 异常;如果文件不存在,则创建一个新文件。
    • 'a':追加模式。如果文件存在,在文件末尾追加写入。如果文件不存在,则创建一个新文件。
    • 'b':二进制模式。与其他模式一起使用,表示以二进制方式打开文件。
    • 't':文本模式(默认)。与其他模式一起使用,表示以文本方式打开文件。
  • buffering:表示缓冲策略,有以下几种值:
    • -1 或不赋值:使用系统默认的缓冲策略。
    • 0:不缓冲;直接写入到磁盘。
    • 大于 0 的值:缓冲区大小。数值越大,缓冲区大小越大。
  • encoding:表示文件的编码格式,如 'utf-8''gbk' 等。如果不指定,就使用系统默认的编码格式。
  • errors:表示编解码错误的处理方式。错误处理有以下几种方式:
    • 'strict':表示编解码错误时,抛出 UnicodeDecodeError(读)或 UnicodeEncodeError(写)异常。
    • 'ignore':表示遇到编解码错误时,忽略错误,不处理。
    • 'replace':表示用 '?' 代替非法字符。
  • newline:表示换行符,有以下几种值:
    • None 或不赋值:使用系统默认的换行符。
    • '':表示不使用换行符。
    • '\n':表示使用 \n 换行符。
    • '\r':表示使用 \r 换行符。
    • '\r\n':表示使用 \r\n 换行符。
  • closefd:表示是否立即关闭文件描述符。如果是 False,则在文件关闭时将不会自动关闭文件描述符,这个选项只对类 Unix 形态的系统有效。
  • opener:表示自定义打开器。如果不是 None,则必须为一个函数,用于打开文件并返回文件描述符。
返回值

open() 函数的返回值为文件对象。

示例

创建一个名为 test.txt 的文件,并将字符串 'Hello, World!' 写入文件中:

with open('test.txt', 'w') as f:
    f.write('Hello, World!')

读取文件 test.txt 中的内容:

with open('test.txt', 'r') as f:
    print(f.read())

上述代码输出:

Hello, World!
总结

Python 中的 open() 函数是一个非常重要的文件操作函数,它能够完成多种文件操作,并且支持多种可选参数。在使用这个函数时,开发者应该根据需要确定相应的参数,以便更好地完成文件操作。