python with关键词的用法

当你变得足够优秀的时候,你才发现原来她只是,单纯的不喜欢你。

 

语法

with expression [as variable]:
    with-block

with语句块会为这个表达式创建出一个运行时上下文,这个运行时上下文被称为“上下文管理器(Context Manager)”,Python 将自动调用这个上下文管理器的__enter__方法,获取运行时上下文的上下文环境。当with语句块执行完毕时,Python 将自动调用这个上下文管理器的__exit__方法,来自动释放资源并处理异常场景。

例如:

文件读取

with open('file.txt', 'r') as f:
    print(f.read())

如果在没有使用with的情况下,f = open('file.txt',‘r’) 方法之后,就必须执行f.close()函数

 

例如:

数据库操作

import mysql.connector

config = {
  'user': 'username',
  'password': 'password',
  'host': '127.0.0.1',
  'database': 'test'
}

with mysql.connector.connect(**config) as conn:
  with conn.cursor() as cursor:
    cursor.execute("SELECT * FROM user")
    rows = cursor.fetchall()
    for row in rows:
      print(row

 

总结:with关键字是 Python 的语法糖,用于简化文件读写、数据库操作等资源处理流程。通过使用with关键字,我们可以避免一些常见的异常问题,并使代码更加简洁易读。

 

posted @ 2022-12-23 09:08  方达达  阅读(18)  评论(0编辑  收藏  举报