我目前正在处理一个Session
类,该类应该正常启动或使用with
语句启动。我还需要为每个会话共享一些伪全局值:
session1 = Session(a, b ,c)
session2 = Session(x, y, z)
session1.start()
# Using session1 with a global value here
with session2.start():
# Using session2 with global value copy
# Coming back in session1 with the initial global value
为了管理全局值,我最终使用了Contextual
库。(https://pypi.python.org/pypi/Contextual)。你知道吗
为了将start()
管理为@contextmanager
,我尝试处理Python堆栈。但我知道,依赖于Python版本和解释器,这可能会很棘手。你知道吗
我想做与open()
相同的事情,您可以使用两种方式:
f = open('...')
with open('...') as f:
# Read the file here.
有可能吗?你应该怎么做?你知道吗
谢谢你的建议!你知道吗
我认为使用
@contextmanager
是不可能的,但是您可以直接将Session
类设置为上下文管理器,如下所示:细节是here。文件就是这样做的。对于第三方类,^{} 可能也很方便。你知道吗
相关问题 更多 >
编程相关推荐