乐趣区

关于python:python中上下文管理with用法

#!/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

以上就是本次分享的全部内容,当初想要学习编程的小伙伴欢送关注 Python 技术大本营,获取更多技能与教程。

退出移动版