当前位置: 首页 > web >正文

Python-文件操作

1 需求


2 接口


3 示例

open 函数是 Python 的内置函数,主要用于文件的读写操作。

  1. file:此参数代表文件路径,既可以是绝对路径,也可以是相对路径。就像你代码里的 'cfg.ini',这是一个相对路径,表示当前目录下的 cfg.ini 文件。

  2. mode:该参数用于设定文件的打开模式,是一个可选参数,默认值为 'r'(即只读模式)。在你的代码中,使用的是 'w',它代表写入模式。当以写入模式打开文件时,如果文件不存在,会创建该文件;如果文件已经存在,则会清空文件内容,然后再进行写入操作。

  3. buffering:此参数用于设置缓冲策略,同样是可选参数。若不设置,会采用默认的缓冲策略。

  4. encoding:该参数用于指定文件的编码格式,属于可选参数。在文本模式下使用较多,要是不指定,会使用系统默认的编码格式。

  5. errors:这个可选参数用于设定编码错误的处理方式。

  6. newline:此参数用于控制换行符的处理,也是可选的。


3 示例

在 Python 中,open() 函数的 mode 参数用于指定文件的打开方式。以下是常见的文件打开模式及其含义:

基础模式

  1. 'r'(默认):只读模式。文件指针位于文件开头,若文件不存在则报错。
  2. 'w':写入模式。若文件存在则清空内容,不存在则创建。
  3. 'a':追加模式。文件指针位于文件末尾,不存在则创建。
  4. 'x':创建模式。新建文件,若文件已存在则报错。

扩展模式(与基础模式组合使用)

  1. 'b':二进制模式。可与其他模式组合(如 'rb''wb')。
  2. 't':文本模式(默认,可省略)。
  3. '+':读写模式。可与其他模式组合(如 'r+''w+')。

常用组合及示例

模式含义文件不存在时存在时
'r'只读文本❌ 报错打开读取
'w'写入文本✅ 创建清空并写入
'a'追加文本✅ 创建追加到末尾
'r+'读写文本❌ 报错打开读写(指针在开头)
'w+'读写文本✅ 创建清空并读写(指针在开头)
'a+'读写文本(追加)✅ 创建追加或读取(指针在末尾)
'rb'只读二进制❌ 报错打开读取
'wb'写入二进制✅ 创建清空并写入

注意事项

  • 'w' 和 'w+':会清空原文件内容,谨慎使用。
  • 指针位置'a' 和 'a+' 模式下,指针初始位于文件末尾,写入会追加到尾部。
  • 二进制与文本模式:处理非文本文件(如图像、视频)必须用 'b' 模式。

示例代码

# 写入模式(清空原内容)
with open('test.txt', 'w') as f:f.write('Hello, World!')# 追加模式(保留原内容)
with open('test.txt', 'a') as f:f.write('\nAppended text.')# 读写模式(指针在开头,需手动移动)
with open('test.txt', 'r+') as f:content = f.read()f.seek(0)  # 移动指针到开头f.write('New content.')

这些模式覆盖了大多数文件操作场景,根据需求选择合适的模式可避免数据丢失或错误。


4 参考资料

http://www.xdnf.cn/news/15090.html

相关文章:

  • 如何将 AWS EBS 卷从 gp2 批量迁移到 gp3:完整指南
  • RabbitMQ 高级特性之事务
  • FPGA加速HMI实时渲染:复杂图形处理的并行计算方案
  • 【macOS】【Swift】【RTF】黑色文字在macOS深色外观下看不清的解决方法
  • 5.注册中心横向对比:Nacos vs Eureka vs Consul —— 深度解析与科学选型指南
  • 字体 Unicode 区块字符展示 PDF 生成器
  • MySQL 09 普通索引和唯一索引
  • 5N70-ASEMI电源管理领域专用5N70
  • 前端业务监控系统,异常上报业务,异常队列收集,异常捕获
  • 【Unity】MiniGame编辑器小游戏(十)连连看【Link】
  • C#基础篇(11)泛型类与泛型方法详解
  • UI前端与数字孪生结合实践探索:智慧物流的仓储优化与管理系统
  • 大数据在UI前端的应用深化:用户行为模式的挖掘与预测性分析
  • 原型与原型链到底是什么?
  • Linux驱动学习day20(pinctrl子系统驱动大全)
  • 自动驾驶决策与规划
  • 【Kafka】登录日志处理的三次阶梯式优化实践:从同步写入到Kafka多分区批处理
  • 【PDF提取内容改名】批量提取pdf多个指定区域内容到excel表格的操作步骤和方法
  • 制作MikTex本地包可用于离线安装包
  • doris2.1.8连接报错ERROR 1203 (42000): Reach limit of connections解决办法
  • 冷冻电镜重构的GPU加速破局:从Relion到CryoSPARC的并行重构算法
  • 前端UI逻辑复杂可以用什么设计模式
  • 由 DB_FILES 参数导致的 dg 服务器无法同步问题
  • CVE-2025-32463复现
  • 在overleaf中使用bibtex格式引用文献
  • 自动化测试报告优化:jenkins+jmeter定制化HTML报告生成
  • QT 第八讲 --- 控件篇 Widget(三)界面系列
  • 米思齐2.0 3.0 mixly arduino 编程软件下载安装及详情使用指南 导入库文件方法 支持8266 esp32
  • 宇树 G1 部署(一)——综述
  • 如何将华为手机中的照片传输到电脑