1. 程式人生 > >python -with安全上下文管理

python -with安全上下文管理

class Myopen(object):
    def __init__(self, name, mode='r'):
        self.name = name
        self.mode = mode
    def __enter__(self):
    # 當with語句進入並開始執行時, 執行的內容, 需要返回一個物件, 在執行結束之後用來關閉或者其他操作;;
        self.f = open(self.name, self.mode)
        print("正在開啟檔案%s......" %(self.name))
        return  self.f

    def __exit__(self, exc_type, exc_val, exc_tb):
    # 當with語句執行結束後, 做什麼操作
        self.f.close()
        print("檔案正在關閉..........")


with Myopen('/tmp/passwd') as f:
    print(f.read())

在這裡插入圖片描述在這裡插入圖片描述