#!/usr/bin/env python
# -*- coding: utf-8 -*-
import queue
q=queue.Queue()
q.put(1)
li=[]


# li.append(1)
# print(li)
# q.get()
# li.remove(1)
# print(li)

import contextlib
@contextlib.contextmanager
def work_state(li,val):
li.append(val)
print(li)
try:
yield
finally:
li.remove(val)
print(li)


with work_state(li,1):
q.get()

C:\Python31\python.exe D:/pythoncode/a6.py
[1]
[]

Process finished with exit code 0

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import contextlib
import queue

@contextlib.contextmanager
def work_state(xxx,val):
xxx.append(val)
aaa = 123456789
try:
yield aaa
finally:
xxx.remove(val)


q = queue.Queue()
q.put("sl")

li = []

with work_state(li,1) as f:
print(f)
q.get()


C:\Python31\python.exe D:/pythoncode/a7.py
123456789

Process finished with exit code 0

 
 

 

相关文章: