是否有办法忽略python模块中导入的函数?
当使用以下模块module.py时:
from inspect import getmembers, isfunction
import foo
def boo():
foo()
def moo():
pass
funcs = [mem[0] for mem in getmembers(module, isfunction)]
funcs =: ['boo','moo', 'foo']
(包括导入函数'foo')
我想让函数只包含['boo', 'moo']
你必须测试__module__
属性;它是一个字符串,命名完整的模块路径:
funcs = [mem[0] for mem in getmembers(module, isfunction)
if mem[1].__module__ == module.__name__]