2009-08-15 42 views
24

我正在嘗試使用C編寫的沒有任何文檔的Python庫。我想用introspection至少看看模塊中有什麼方法和類。是否有人可以使用函數或庫來列出模塊中的函數(使用參數列表)和類(使用方法和成員變量)?如何列出Python 2.5模塊中的方法?

我發現了this article關於Python內省,但我敢肯定它不適用於Python 2.5。謝謝您的幫助。

回答

51

這裏有一些事情可以做,至少:

import module 

print dir(module) # Find functions of interest. 

# For each function of interest: 
help(module.interesting_function) 
print module.interesting_function.func_defaults 
4

dir()函數顯示模塊具有的所有成員。

5

只是這是相當不錯:

​​

它將打印文檔字符串的模塊,然後列出的內容模塊,也打印他們的文檔。

+0

我找不到任何替代方法來獲取幫助內容,特別是「包裝內容」是我正在尋找的內容。這是在幫助文本中,但沒有其他答案提供了一種方法來算法。 – AlanSE 2017-10-24 17:48:43

+0

啊,在https://github.com/python/cpython/blob/ac317700ce7439e38a8b420218d9a5035bba92ed/Lib/pydoc.py#L733的源代碼中找到它,模式爲'for import,modname,ispkg in pkgutil.iter_modules(object .__路徑__):' – AlanSE 2017-10-24 18:03:46

12

Mark Pilgrim的chapter 4,你提到,它確實適用於Python 2.5(以及任何其他最近的2.*版本,由於向後兼容性)。馬克沒有提到help,但我看到其他答案。

沒有人(包括Mark ;-)似乎提到的一個關鍵點是inspect,它是Python標準庫中的一個很好的模塊,它確實有助於進行高級自檢。