通俗易懂之with上下文管理

2022-02-15 04:23:17 字數 497 閱讀 2629

我們也能夠自己構造自己的上下文管理器

我們可以用contextlib中的context manager修飾器來實現,比如可以通過以下**暫時改變當前目錄然後執行一定操作後返回。

from contextlib import contextmanager

import os

@contextmanager

def working_directory(path):

current_dir = os.getcwd()

os.chdir(path)

try:

yield

finally:

os.chdir(current_dir)

with working_directory("data/stuff"):

# do something within data/stuff

# here i am back again in the original working directory

python之with上下文管理

finally塊由於是否發生異常都會執行,通常是釋放資源的 可以通過with上下文管理,更方便的實現釋放資源的操作。with上下文管理的語法結構 with context expr as var 語句塊with上下文管理可以自動管理資源,在with 塊執行完後自動還原進入 之前的現場或上下文。cod...

通俗易懂之Ajax

在網頁載入的時候,載入的都是靜態的資源,你寫的每一句話,每乙個結構都是固定的,比如在哪個區域顯示哪張,頁面渲染之後都無法在改變,想要改變就只有改 然後在重新整理頁面。而ajax可以讓我們在 執行的時候,去請求其他地方的資源或者介面,然後把請求來的資料,根據我們寫好的方法渲染到頁面上,多次進行ajax...

上下文管理協議

class open def init self,name self.name name def enter self print 執行enter def exit self,exc type,exc val,exc tb print 執行exit with open a.txt as f with...