求Python对比多个函数是否一致的方法,python对比多个函数,如题,我应该怎么比较函数


如题,我应该怎么比较函数是否一致?
因为我要做一个函数黑名单的功能,不被授权的函数不允许调用。
仅仅通过函数名去验证不行,因为有的函数可能同名,只是所属类不一样而已

你可以研究下pysandbox的源码

好吧~~我钻牛角尖了
如果仅仅是函数对比使用 == 就行了
但是我这边情况有点特殊
所以只能比名字了

对于用户定义函数,比较函数的 __code__ 属性(Python 3)是否在许可的列表里即可。对于内建函数,既然你要限制,不至于允许用户加载C库的吧?那么比较函数地址就可以了。

不过别以为这样就可以高枕无忧了,绕过应该不难的。比如 sort 函数里边就接受一个作为函数的参数。

编橙之家文章,

评论关闭