Python:找到我正在使用的函数的版本
答
这应该适用于大多数功能。它不适用于内置插件,但是您不会导入这些内容。
import sys
sys.modules[somefunc.__module__].__file__
+0
不知道这是否与成员函数,例如:' '' .strip .__ module__'是'None'。 – NPE
+0
@aix:那是因为它是内置的。 –
非常好!不知道这个。它似乎失败了更多的功能(如'struct.pack'),而不是仅仅咨询'sys.modules'。 –
@MattiVirkkunen,'sys.modules [struct.pack .__ module __] .__ file__' raise'AttributeError:'module'object has no attribute'__file __''for me。看起来像没有办法处理内建的'sys.modules [struct.pack .__ module __]' - >'' –
reclosedev
我想它必须是一个版本或平台的区别。幸运的是,你不应该真的需要知道哪个文件内置来自反正。 –