You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
459 B
25 lines
459 B
8 years ago
|
"""
|
||
|
categories: Core,Generator
|
||
|
description: Context manager __exit__() not called in a generator which does not run to completion
|
||
|
cause: Unknown
|
||
|
workaround: Unknown
|
||
|
"""
|
||
|
class foo(object):
|
||
|
def __enter__(self):
|
||
|
print('Enter')
|
||
|
def __exit__(self, *args):
|
||
|
print('Exit')
|
||
|
|
||
|
def bar(x):
|
||
|
with foo():
|
||
|
while True:
|
||
|
x += 1
|
||
|
yield x
|
||
|
|
||
|
def func():
|
||
|
g = bar(0)
|
||
|
for _ in range(3):
|
||
|
print(next(g))
|
||
|
|
||
|
func()
|