【发布时间】:2020-12-06 09:50:03
【问题描述】:
我有一个 Python 模块“something.py”,我想获取我在此文件中编写的所有函数的列表。我关注了this SO 帖子,解释了执行此操作的标准方法。
问题是我在 something.py 中有导入函数,所以当我尝试列出我的函数时,我也会列出我不关心的导入函数。如何获取我在 something.py 中编写的函数列表?
【问题讨论】:
-
您确定reference 中的答案无效吗?例如,在 adnan 的答案的 cmets 中,我们看到
from inspect import getmembers, isfunction; import something; functions_list = getmembers(something, isfunction)仅提供了某个模块中的函数列表(即不包括导入函数)。 -
不幸的是没有,我也对此感到惊讶。当我将我的导入注释掉时,它按预期工作,否则它会失败。我怀疑问题是我正在导入项目包中的所有内容,这可能导致它的行为与我只是尝试从标准库中导入某些内容不同。
-
@Visipi——这很令人惊讶,因为它可以在我的简单测试程序中工作,1)导入模块 something 和 2)something.py 模块导入 something_else 加上数学库。
-
啊,谢谢你的理智测试。超越。我很确定现在问题出在我身上。我的 init 文件中可能有一些奇怪的东西。我会考虑回答,但我不知道如何给你点评论。
-
@Visipi--实际上在这种情况下,我认为 stackoverflow (SO) 认为这是一个不合适的问题,因为该问题无法重现(即其他人无法使用任何答案)。在这种情况下,我认为 SO 建议删除该问题,但我可能是错的。
标签: python import module python-import