python with语句
时间: 2023-10-31 10:07:28 浏览: 58
`with`语句是Python中的一个常用语句,用于管理代码块中使用的资源,比如文件或网络连接等。`with`语句可以在进入代码块时自动获取资源,在退出代码块时自动释放资源,无需手动关闭文件或断开网络连接等。
`with`语句的基本语法如下:
```python
with expression [as target]:
with-block
```
其中,`expression`通常是一个返回上下文管理器的对象。上下文管理器是一个具有`__enter__()`和`__exit__()`方法的对象,`__enter__()`方法在进入代码块时被调用,`__exit__()`方法在退出代码块时被调用。`as target`是可选的,用于将上下文管理器返回的值赋给一个变量。
`with-block`是一个包含要执行的代码的块,当进入这个块时,`expression`返回的上下文管理器会被调用,如果定义了`as target`,则将`__enter__()`方法返回的值赋给`target`变量,然后执行`with-block`中的代码。当退出代码块时,无论是正常退出还是异常退出,都会自动调用上下文管理器的`__exit__()`方法,释放资源。
下面是一个使用`with`语句打开文件的例子:
```python
with open('example.txt', 'r') as f:
content = f.read()
print(content)
```
在这个例子中,`open()`函数返回的文件对象是一个上下文管理器,它会在进入`with`块时自动打开文件,在退出`with`块时自动关闭文件。代码块中的`f.read()`语句读取文件内容并赋值给`content`变量,然后`print()`函数输出文件内容。