Python中如何使用with语句进行上下文管理?
- 内容介绍
- 文章标签
- 相关推荐
本文共计239个文字,预计阅读时间需要1分钟。
当然可以,请您提供需要改写的伪原创开头内容,我将为您进行修改。
#!/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
本文共计239个文字,预计阅读时间需要1分钟。
当然可以,请您提供需要改写的伪原创开头内容,我将为您进行修改。
#!/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

