如何检查python函数是否是内置函数?
我想要这样的事情:
def abc(x):
return x
is_builtin(abc)
应该返回False
import os
is_builtin(os.path.join)
应该返回True
from os import *
is_builtin(path.join)
应该返回True
任何帮助将不胜感激
答案 0 :(得分:0)
试试这个:
import sys
import os
lib_path = os.path.dirname(os.__file__)
def is_battery_inc(arg):
if hasattr(arg, "__call__"):
if hasattr(arg, "__module__"):
module = sys.modules[arg.__module__]
if module == __builtin__:
return True
if hasattr(module, "__file__"):
return lib_path == os.path.dirname(module.__file__)
return False
def test():
pass
print(is_battery_inc(os.path.join))
print(is_battery_inc(test))
print(is_battery_inc(map))