python`with`语句用法的其他内置或实用示例?
在python的文件对象实现的python`with`语句用法的其他内置或实用示例?,python,python-2.7,with-statement,conceptual,contextmanager,Python,Python 2.7,With Statement,Conceptual,Contextmanager,在python的文件对象实现的\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu用例之外,有没有人有一个真实的例子?最好是你自己的,因为我试图实现的是一种更好的方法来概念化将要使用它的案例 我已经读过了 而且,上有几个例子 典型的答案是: with (acquire some mutex): # do stuff with mutex 有很多用途。就在标准库中,我们有: sqlite3;使用将转换为提交或中止事务 un
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
用例之外,有没有人有一个真实的例子?最好是你自己的,因为我试图实现的是一种更好的方法来概念化将要使用它的案例
我已经读过了
而且,上有几个例子 典型的答案是:
with (acquire some mutex):
# do stuff with mutex
有很多用途。就在标准库中,我们有:
;使用将转换为提交或中止事务sqlite3
;使用作为上下文管理器可以断言引发异常,然后测试异常的各个方面unittest
;管理十进制数精度、舍入和其他方面十进制
锁定、信号量和条件等对象;让您获得一组语句等的锁线程化
模块为您提供了一个警告警告
- 许多库提供关闭行为,就像默认的文件对象一样。这些包括和模块
- Python自己使用了几个上下文管理器来检查特定警告、捕获stdout、忽略特定异常和临时设置环境变量
每当您想要检测代码块何时开始和/或结束时,都需要使用上下文管理器。在使用
之前,请尝试:
和最后:
套件以保证清理,请使用上下文管理器。我发现使用上下文管理器版本的os.chdir()
:退出chdir()
返回原始目录非常有用
这允许您模拟通用(Bourne)shell脚本模式:
(
cd <some dir>
<do stuff>
)
使用上下文管理器:
with os.chdir(<some dir>):
<do stuff>
使用os.chdir()的:
后者好多了
with os.chdir(<some dir>):
<do stuff>