python:好用的 with 语法

简介: python:好用的 with 语法

手动清理资源占用是个很痛苦的事情,比如刚学编程时候,老鸟就建议:写完open xxx 之后一定要写一个配对儿的 close,然后再往他俩中间写逻辑。

python 现在有个好玩的东西,利用上下文可以自动释放掉一个对象:

class test():
    def __init__(self,msg):
        print(msg)
    def __enter__(self):
        print('Enter Object test')
    def __exit__(self, exc_type, exc_val, exc_tb):
        print('Exit Object test')

object=test('Hello')
print('***head of code block***')
with object as t:
    print('Did something here...')
print('***end of code block***')

运行结果如下:

Hello
***head of code block***
Enter Object test
Did something here...
Exit Object test
***end of code block***

Process finished with exit code 0

于是,对于系统自带的文件操作就有了下面这样的用法:

content=''
with open('test.txt','a',encoding='UTF-8') as f:
    f.write('Hello World\n')

with open('test.txt','r',encoding='UTF-8') as f:
    content=f.read()

print(content)

*注意两个f不是同一个对象

是不是很爽?几下就搞定了O(∩_∩)O

目录
相关文章
|
2月前
|
XML 前端开发 数据格式
三分钟搞定 Python XPath 语法
XPath(XML Path Language)是一种用于在 XML 文档中查找信息的语言。它基于树状结构的 XML 文档,可以通过路径表达式来选取节点或节点集。也常常用来解析 HTML。 如果你是一个前端,对用路径获取元素可能陌生又熟悉。陌生是很多的路径,熟悉的路径上又有熟悉的属性和方法。下面我们就来探究一下 XPath 的魅力。
|
3月前
|
索引 Python
python语法错误赋值错误
【7月更文挑战第10天】
71 6
|
9天前
|
存储 C语言 索引
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
本文全面介绍了Python的基础知识,包括Python的诞生背景、为什么学习Python、Python的应用场景、Python环境的安装、Python的基础语法、数据类型、控制流、函数以及数据容器的使用方法,旨在为Python零基础读者提供一篇全面掌握Python语法的博客。
13 0
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
|
10天前
|
存储 数据可视化 数据处理
【Python篇】快速理解Python语法:全面指南
【Python篇】快速理解Python语法:全面指南
15 1
|
19天前
|
Java Linux C++
30天拿下Python之基础语法
30天拿下Python之基础语法
20 4
|
1月前
|
IDE Java 开发工具
Python的语法
Python的语法。
24 5
|
1月前
|
存储 数据挖掘 程序员
揭秘Python:掌握这些基本语法和数据类型,你将拥有编程世界的钥匙!
【9月更文挑战第3天】Python 是一种简洁强大的高级编程语言,其清晰的语法和丰富的功能深受程序员喜爱。本文从基本语法入手,介绍 Python 的代码结构特点,如通过缩进区分代码块,使逻辑更清晰。接着详细讲解主要数据类型:数值型、字符串、列表、元组、集合与字典,每个类型均附有示例代码,帮助初学者快速掌握 Python,为后续学习打下坚实基础。
34 2
|
2月前
|
IDE Java 测试技术
Python接口自动化测试框架(基础篇)-- 基础语法(真的很基础)
这篇文章是关于Python编程语言的基础语法介绍,包括编码、标识符、注释、行和缩进、输入输出以及导包等基础知识点,旨在帮助初学者理解并掌握Python编程的基础。
21 2
|
2月前
|
测试技术 索引 Python
Python接口自动化测试框架:回顾Python3基础语法知识总览
本文是Python 3基础语法知识的全面总结,涵盖了标识符、数据类型、运算符、控制流程、函数、模块和文件操作、异常处理以及面向对象编程的各个方面,旨在为编写Python接口自动化测试框架提供必要的语法知识支持。
28 1
|
2月前
|
存储 数据挖掘 程序员
揭秘Python:掌握这些基本语法和数据类型,你将拥有编程世界的钥匙!
【8月更文挑战第8天】Python是一种高级、解释型语言,以简洁的语法和强大的功能广受好评。本文从基本语法入手,强调Python独特的缩进规则,展示清晰的代码结构。接着介绍了Python的主要数据类型,包括数值、字符串、列表、元组、集合和字典,并提供了示例代码。通过这些基础知识的学习,你将为深入探索Python及其在文本处理、数据分析等领域的应用打下坚实的基础。
39 3