В python, как вы проверяете, существует ли функция без фактической работы функции (т.е. с помощью try)? Я бы тестировал, существует ли он в модуле.
Python проверяет, существует ли функция без попытки
Ответ 1
Вы можете использовать dir
, чтобы проверить, находится ли имя в модуле:
>>> import os
>>> "walk" in dir(os)
True
>>>
В приведенном выше примере кода мы проверяем функцию os.walk
.
Ответ 2
Вы предложили try
except
. Вы действительно можете использовать это:
try:
variable
except NameError:
print("Not in scope!")
else:
print("In scope!")
Это проверяет, находится ли variable
в области видимости (он не вызывает функцию).
Ответ 3
Solution1:
import inspect
if (hasattr(m, 'f') and inspect.isfunction(m.f))
Solution2:
import inspect
if ('f' in dir(m) and inspect.isfunction(m.f))
где:
m = имя модуля
f = функция, определенная в m