Python 的内置函数 open

作者:IMPYLH日期:2025/11/16

Python 内建函数列表 > Python 的内置函数 open

Python 的内置函数 open() 是用于打开文件的重要函数,它提供了与文件系统交互的基本接口。该函数返回一个文件对象(file object),可用于读取、写入或追加文件内容。

函数签名

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

主要参数说明

  1. file(必需):文件路径(字符串或字节对象),可以是绝对路径或相对路径
  2. mode(可选):文件打开模式,默认是 ‘r’(只读)
    • ‘r’:读取模式(默认)
    • ‘w’:写入模式,会覆盖已有文件
    • ‘x’:独占创建模式,文件已存在则报错
    • ‘a’:追加模式
    • ‘b’:二进制模式
    • ‘t’:文本模式(默认)
    • ‘+’:更新模式(可读写)
  3. encoding(重要):指定文本编码格式,如 ‘utf-8’(Python 3默认)、‘gbk’ 等

典型使用示例

  1. 读取文本文件:
1with open('example.txt', 'r', encoding='utf-8') as f:
2    content = f.read()
3
  1. 写入文件:
1with open('output.txt', 'w') as f:
2    f.write('Hello, World!')
3
  1. 追加内容:
1with open('log.txt', 'a') as f:
2    f.write('New log entry\n')
3
  1. 二进制文件操作:
1with open('image.jpg', 'rb') as f:
2    data = f.read()
3

最佳实践建议

  1. 始终使用 with 语句,确保文件正确关闭
  2. 明确指定编码格式,避免跨平台问题
  3. 处理大文件时考虑逐行读取或分块读取
  4. 注意不同操作系统路径分隔符的差异
  5. 检查文件是否存在(os.path.exists)后再操作

常见问题

  • 文件不存在时会抛出 FileNotFoundError(读取模式)
  • 编码错误会抛出 UnicodeDecodeError
  • 权限不足会抛出 PermissionError
  • Windows 系统路径需要使用原始字符串或双反斜杠

性能考虑

  • 缓冲区大小(buffering)影响 I/O 性能
  • 二进制模式比文本模式效率更高
  • 大量小文件操作应考虑批量处理

Python 的内置函数 open》 是转载文章,点击查看原文


相关推荐


word表格操作疑难杂症处理
weixin_438338512025/11/14

1. 从excel 复制一个表格粘贴到word中,表格超出word的宽度 第一种方式:点表格左上角的按钮全选表格, 表格工具---自动调整---根据窗口调整表格 或者 根据内容调整表格。 第二种方式:设置 页边距 和 纸张大小,默认A4纸,可能大小就是不够 第三种方式: 粘贴表格对象 复制表格后,在word中不要直接粘贴,而是在word中空白处 右键 ,选择最后一个图标“选择性粘贴”,选择 wps表格对象---确定, 这样就是一模一样的粘贴过来了,但是word中无法直接编辑该


HarmonyOS Web组件深度解析:构建高性能JavaScript交互的实践与创新
万少-2025/11/13

HarmonyOS Web组件深度解析:构建高性能JavaScript交互的实践与创新 引言 在万物互联的时代,HarmonyOS作为分布式操作系统,其应用生态的构建离不开Web技术的深度融合。Web网页组件(Web组件)作为连接Web生态与原生应用的关键桥梁,其JavaScript交互能力直接决定了应用的体验边界。传统的WebView交互往往局限于简单的URL加载和基础脚本执行,但在HarmonyOS的分布式架构下,我们需要重新思考JavaScript交互的深度与广度。 本文将深入探讨Harm


开源 Objective-C IOS 应用开发(二)Xcode安装
ajassi20002025/11/12

文章的目的为了记录使用Objective-C 进行IOS app 开发学习的经历。本职为嵌入式软件开发,公司安排开发app,临时学习,完成app的开发。开发流程和要点有些记忆模糊,赶紧记录,防止忘记。  推荐链接: 开源 Arkts 鸿蒙应用 开发(一)工程文件分析-CSDN博客 开源 Arkts 鸿蒙应用 开发(二)封装库.har制作和应用-CSDN博客 开源 Arkts 鸿蒙应用 开发(三)Arkts的介绍-CSDN博客 开源 Arkts 鸿蒙应用 开发(四)布局和常用控件-C


三角洲行动-java游戏程序
程序编程- Java2025/11/10

以下是一个简化版的三角洲行动游戏程序,使用Java编写。 import java.awt.*; import java.awt.event.*; import java.util.ArrayList; import java.util.Random; import javax.swing.*; public class DeltaForceAction extends JPanel implements ActionListener, KeyListener {     private st


跨平台游戏引擎 Axmol-2.9.1 发布
一线灵2025/11/8

Axmol 2.9.1 版本是一个以错误修复和功能改进为主的次要 LTS 长期支持版本,发布时间: 2025 年 11 月 2 日 🙏感谢所有对 axmol 项目的贡献者,包括财务赞助者:@scorewarrior(公司)、@peterkharitonov、@duong、@thienphuoc、@bingsoo、@asnagni、@paulocoutinhox 以及 历史赞助者 🙏我们衷心感谢 @scorewarrior(公司) 的鼎力支持——他们在 GitHub Sponsors 追加


C#.NET MemoryCache 深入解析:本地缓存机制与最佳实践
唐青枫2025/11/6

简介 在许多应用程序中,缓存是提升性能的常见方法,尤其是在访问频繁且不经常变化的数据时。MemoryCache 是 .NET 提供的一个内存缓存实现,它允许在内存中存储数据,以减少对数据库、文件系统或其他远程服务的访问,进而提升系统响应速度。 MemoryCache 的核心优势是: 高效:内存操作非常快速,适合用于缓存短期有效的数据。 轻量:它是一个线程安全的缓存系统,且易于在 .NET 应用中配置和使用。 灵活:支持过期时间、优先级设置等多种功能,能够满足大多数缓存需求。 核心


Agent ReAct and Loop
mCell2025/11/1

同步至个人站点:Agent ReAct and Loop Agent ReAct and Loop 我一直在使用 ChatGPT 或通义千问这样的 AI 工具,它们很强大,但多数情况下都是“一问一答”。我提一个问题,它给一个答案。 但我注意到,像 Manus 或 Claude Code CLI 这样的“Agent”(智能体)产品,它们似乎可以自动执行任务。你给它一个目标,它会自己去调用工具、分析结果、继续下一步,直到任务完成。 这到底是怎么做到的?它如何摆脱“一问一答”的限制,实现自动循环?


【STM32】看门狗
IT阳晨。2025/10/30

目录 一、独立看门狗1. IWDG简介2. IWDG工作原理及框图3. IWDG寄存器及函数介绍4. IWDG溢出时间计算5. IWDG配置步骤6. 小实验:独立看门狗喂狗实验 二、窗口看门狗1. WWDG简介2. WWDG工作原理及框图3. WWDG寄存器及函数介绍4. WWDG溢出时间计算5. WWDG配置步骤6. 小实验:窗口看门狗喂狗实验 一、独立看门狗 1. IWDG简介 独立看门狗(Independent Watchdog,通常缩写为IWDG)主要作用是主要用于检


C语言<<超全.超重要>>知识点总结
richxu202510012025/10/27

C语言<<超全.超重要>>知识点总结 #嵌入式[话题]# #电子信息[话题]# #单片机[话题]# #stm32[话题]# #校招[话题]# #秋招[话题]#


GitHub 热榜项目 - 日榜(2025-10-21)
CoderJia_2025/10/24

GitHub 热榜项目 - 日榜(2025-10-21) 生成于:2025-10-21 统计摘要 共发现热门项目:20 个 榜单类型:日榜 本期热点趋势总结 基于本期GitHub热榜项目,AI与机器学习生态系统呈现强劲发展势头,成为技术创新的核心驱动力。Claude cookbooks、系统提示词收集项目和开源NotebookLM实现等AI工具类项目表现突出,体现了大模型应用的快速普及和开发者对AI工程实践的强烈需求。同时,机器人学习框架LeRobot、OCR工具PaddleO

首页编辑器站点地图

Copyright © 2025 聚合阅读

License: CC BY-SA 4.0