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

python中 “with” 关键字的取舍问题

自动管理资源(自动关闭文件)

当你使用 with 打开文件时,文件会在 with 代码块结束后自动关闭,无论是否发生异常。这意味着你不需要显式地调用 f.close() 来关闭文件

示例:

with open("words.txt", "r") as f:
    # 处理文件内容
    content = f.read()  # 读取文件内容
# 文件自动关闭,无需显式调用 f.close()

如果你不使用 with 语句,而是直接调用 open(),则需要手动关闭文件:

f = open("words.txt", "r")
content = f.read()
f.close()  # 需要显式调用关闭文件

示例 1:只读模式 'r'
with open("words.txt", "r") as f:
    content = f.read()
    print(content)
示例 2:写入模式 'w'
with open("new_file.txt", "w") as f:
    f.write("Hello, world!")
示例 3:追加模式 'a'
with open("log.txt", "a") as f:
    f.write("\nNew log entry.")
示例 4:二进制模式 'rb''wb'
# 读取二进制文件
with open("image.jpg", "rb") as f:
    binary_data = f.read()
​
# 写入二进制文件
with open("new_image.jpg", "wb") as f:
    f.write(binary_data)

相关文章:

  • Vagrant 安装指南:从零开始搭建开发环境
  • GPT - 2 文本生成任务全流程
  • 单向链表的实现(C++)
  • 基于贝叶斯估计的多传感器数据融合算法matlab仿真
  • SQL 中的 NULL 处理
  • 7.0 实际案例1-1:读取图片并显示
  • 编程思想——FP、OOP、FRP、AOP、IOC、DI、MVC、DTO、DAO
  • HarmonyOS中的多线程并发机制
  • Docker引擎、Docker守护进程和Docker客户端
  • RocketMQ 中的 MessageStore 组件:消息存储的核心枢纽
  • 不同数据库的注入报错信息
  • ubuntu 2204 安装 vcs 2018
  • L1-5 吉老师的回归
  • Python赋能量子计算:算法创新与应用拓展
  • 浏览器发起调用到服务器的全过程解析
  • Mybatis的简单介绍
  • 记一次Agora-RTSALite编译遇到的问题
  • SuperPoint论文及源码解读
  • 使用Lombok无法生成Getter()与Setter()和toString()方法的解决方案
  • RocketMQ 中 DefaultMessageStore 的 AllocateMappedFileService 属性详解
  • 中国金茂新任命三名副总裁,撤销区域公司
  • 招商蛇口:今年前4个月销售额约498.34亿元
  • 西安机场回应航站楼“水帘洞”事件:屋面排水系统被冰雹堵塞
  • 云南一餐馆收购长江野生鱼加工为菜品,被查处罚款
  • 讲座预告|全球贸易不确定情况下企业创新生态构建
  • 105岁八路军老战士、抗美援朝老战士谭克煜逝世