主动化办公-python中的open()函数

[复制链接]
发表于 2026-1-14 16:19:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
Python中的 open() 函数用于打开一个文件,并返回一个文件对象,您可以通过该对象对文件举行读写操纵。

根本语法:
  1. open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
复制代码
参数阐明:

  • file:要打开的文件路径(字符串)。可以是相对路径或绝对路径。
  • mode:打开文件的模式(字符串),默以为 'r'。常用模式包罗:

    • 'r':以只读模式打开(默认)。
    • 'w':以写入模式打开,会截断文件,即如果文件已存在,将清空原有内容。
    • 'a':以追加模式打开,写入的数据会追加到文件末端。
    • 'b':以二进制模式打开,与其他模式连合利用,如 'rb'、'wb'。
    • 't':以文本模式打开(默认),与其他模式连合利用,如 'rt'、'wt'。
    • '+':可读写模式,与其他模式连合利用,如 'r+'、'w+'、'a+'。

  • buffering:设置缓冲计谋。0 体现不缓冲,1 体现行缓冲,>1 的整数体现缓冲区巨细,-1 或省略体现利用默认缓冲计谋。
  • encoding:文件编码范例(仅在文本模式下有效),如 'utf-8'。
  • errors:错误处理处罚方式(仅在文本模式下有效),如 'ignore'、'replace'、'strict'。
  • newline:控制换行符的处理处罚方式(仅在文本模式下有效)。可选值有 None、''、'\n'、'\r'、'\r\n'。
  • closefd:当利用文件形貌符而不是文件名时,如果为 False,则 close() 方法不会关闭底层的文件形貌符。
  • opener:自界说打开器,返回一个打开的文件形貌符。

示例:

  • 读取文本文件:
    1. # 以只读模式打开文件
    2. with open('example.txt', 'r', encoding='utf-8') as f:
    3.     content = f.read()
    4.     print(content)
    复制代码
  • 写入文本文件:
    1. # 以写入模式打开文件(会覆盖原有内容)
    2. with open('example.txt', 'w', encoding='utf-8') as f:
    3.     f.write('这是写入的第一行文本。\n')
    4.     f.write('这是写入的第二行文本。')
    复制代码
  • 追加文本文件:
    1. # 以追加模式打开文件
    2. with open('example.txt', 'a', encoding='utf-8') as f:
    3.     f.write('\n这是追加的文本。')
    复制代码
  • 读取二进制文件:
    1. # 以二进制读模式打开文件
    2. with open('example.jpg', 'rb') as f:
    3.     data = f.read()
    复制代码
  • 写入二进制文件:
    1. # 以二进制写模式打开文件
    2. with open('example_copy.jpg', 'wb') as f:
    3.     f.write(data)
    复制代码
  • 同时读写文件:
    1. # 以可读写模式打开文件
    2. with open('example.txt', 'r+', encoding='utf-8') as f:
    3.     content = f.read()
    4.     f.write('\n在文件末尾添加一行。')
    复制代码

留意事项:

  • 文件关闭:利用 with 语句打开文件,可以确保在操纵完成后文件主动关闭,无需手动调用 f.close()。
  • 编码标题:在处理处罚文本文件时,发起显式指定 encoding 参数,常用编码为 'utf-8',以制止编码错误。
  • 非常处理处罚:在文件操纵过程中,大概会碰到文件不存在、权限不敷等错误,发起利用 try...except 举行非常捕捉。
    1. try:
    2.     with open('example.txt', 'r', encoding='utf-8') as f:
    3.         content = f.read()
    4. except FileNotFoundError:
    5.     print('文件未找到。')
    6. except IOError:
    7.     print('文件读写错误。')
    复制代码
  • 路径标题:在指定文件路径时,要留意操纵体系的差异。可以利用 os.path 模块来处理处罚路径,或利用原始字符串制止转义字符。
    1. import os
    2. file_path = os.path.join('folder', 'example.txt')
    3. with open(file_path, 'r', encoding='utf-8') as f:
    4.     content = f.read()
    复制代码
    大概:
    1. # 使用原始字符串
    2. file_path = r'C:\folder\example.txt'
    复制代码

在Python中,前缀r用于界说原始字符串(Raw String)。原始字符串中的反斜杠 () 被视为平凡字符,而不是转义字符。这在处理处罚包罗很多反斜杠的字符串(如Windows文件路径、正则表达式等)时特殊有效,可以制止反斜杠引发的转义序列标题。
总结:

  • open() 函数是文件操纵的入口,用于打开文件并返回文件对象。
  • 根据需求选择符合的模式(mode)和编码(encoding)。
  • 利用 with 语句和非常处理处罚,确保文件操纵的安全和稳固。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表