4
我唯一使用with
關鍵字的時候是讀寫文件的時候,主要是因爲這是我唯一知道我可以使用它的唯一情況。我可以想象有很多情況下,我最好可以使用with
,但不知道接受它的類或方法。如何輕鬆找出Python類是否接受with關鍵字?
那麼,如何檢測with
關鍵字可用的實例?
我唯一使用with
關鍵字的時候是讀寫文件的時候,主要是因爲這是我唯一知道我可以使用它的唯一情況。我可以想象有很多情況下,我最好可以使用with
,但不知道接受它的類或方法。如何輕鬆找出Python類是否接受with關鍵字?
那麼,如何檢測with
關鍵字可用的實例?
上下文管理器都具有__enter__()
和__exit__()
方法,因此檢查以查看這些屬性是否存在以及它們是否具有__call__
屬性幾乎始終都能正常工作。
但是,是的,首先閱讀代碼和/或文檔。
閱讀本文!如果它定義了它支持的'__exit__'和'__enter__'方法。 – smeso