2017-03-07 14 views
0

我有一個已加載的模塊,並檢查它的所有函數以檢查它們是否具有某個參數。如果他們這樣做,我運行這些功能;如何在Python中檢查函數是否屬於某個模塊

問題是模塊也會有它自己的導入,它會添加到函數列表中,導入的模塊的一些功能也會運行。我需要檢查一個函數是否屬於某個模塊。

import bar; 
def function(special_param): 
    #dostuff 

bar我有一個名爲other_functionspecial_param以及功能。通過導入它,Python可以導入它的所有功能。如何檢查other_function是否屬於bar

+2

的[確定一個功能的Python模塊中可用]可能的複製(http://stackoverflow.com/questions/763971/確定-IF-A-功能是可用式-A-蟒模塊) – nir0s

回答

0
if hasattr(bar, 'other_function'): 
    do_something() 

注意other_function也可能是bar一個變量,而不是一個函數。

編輯:這是一個重複的:Determine if a function is available in a Python module其中由@macrog給出了更好的答案。改用它。 (標記爲重複你的問題)

0

你可以試試這個,

if hasattr(bar, 'other_function'): 
     getattr(bar, 'other_function')('Special_parameter') 
相關問題