2013-12-10 20 views
4

我唯一使用with關鍵字的時候是讀寫文件的時候,主要是因爲這是我唯一知道我可以使用它的唯一情況。我可以想象有很多情況下,我最好可以使用with,但不知道接受它的類或方法。如何輕鬆找出Python類是否接受with關鍵字?

那麼,如何檢測with關鍵字可用的實例?

+0

閱讀本文!如果它定義了它支持的'__exit__'和'__enter__'方法。 – smeso

回答

3

上下文管理器都具有__enter__()__exit__()方法,因此檢查以查看這些屬性是否存在以及它們是否具有__call__屬性幾乎始終都能正常工作。

但是,是的,首先閱讀代碼和/或文檔。