的所有功能,我有一個具有文件,MyClass
類和一些文件與功能(一個文件可以包含超過1個功能)的多模塊Python包。獲取Python包
我試圖獲得這個包中的所有功能。
首先,使用以下:
modules = []
for importer, module, ispkg in pkgutil.iter_modules(package.__path__):
modules.extend(module)
,但我只拿到了模塊名稱,而不是模塊對象。
當我試圖用inspect.getmembers(module, inspect.isfunction)
讓這些模塊的功能,我當然有一個空的集合。
所以,我怎麼能得到從包中的所有模塊對象爲進一步獲取的功能呢?
是否更簡單的方法來從多文件包存在的所有功能?
P.S.我需要確切的function
對象,而不僅僅是他們的名字。
編輯。
dir(package)
給我唯一內置變量:['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__']
inspect.getmembers(package, inspect.infunction)
如我上面描述給出了一個空 清單,以及相同的代碼爲每個module
。dir(module)
給我供str
對象的所有方法的名稱列表(因爲,iter_modules()
只給出名 模塊)。AST ...你確定,不存在簡單的解決方案?
http://stackoverflow.com/questions/139180/listing-all-functions-in-a-python-module,http://stackoverflow.com/ questions/4040620/is-it-it-to-list-all-functions-in-a-module ...? – rbaleksandar
@rbaleksandar,我看到這些帖子試圖找到解決方案。但是他們中沒有人不適合我(見我的編輯)。 – VeLKerr
這個問題**不重複**,因爲所有的答案發布[這裏](http://stackoverflow.com/questions/4040620/is-it-possible-to-list-all-functions-in-a-模塊)不適合我(首先,我有一個** multimodule **包,第二,我需要**功能對象**,不僅名稱)。 – VeLKerr