有没有比使用全局变量从上下文管理器获取有趣值更好的方法?
@contextmanager
def transaction():
global successCount
global errorCount
try:
yield
except:
storage.store.rollback()
errorCount += 1
else:
storage.store.commit()
successCount += 1
其他可能性:
单身人士
某种全球性的...
元组作为上下文管理器的参数
使功能更具体地解决问题/减少可重用性
将特定属性作为上下文管理器的参数保存的实例
与元组相同的问题,但更易读
在保存值的上下文管理器末尾引发异常。
真是个坏主意