获取函数的模块(定义的独立)

雅博佐

我有一个带有我需要存储的函数字典的对象(例如,在 JSON 中)。此类函数既不绑定到对象也不修饰,并且在不同的模块中独立定义有没有办法以编程方式获取定义函数的模块?

我的期望:

import importlib

class FunctionBag(object):

  @property
  def functions(self)
    return self._functions

  def __init__(self, functions):
    self._functions = functions

  def to_dict_for_json(self):
    result = {}
    for key, fn, in self._functions.items():
      name = fn.__name__
      module = MAGIC(fn)
      result[key] = (module, name,)

  @classmethod
  def FromDictOfJson(cls, dct):
    functions = {}
    for key, value, in dct.items():
      module,name, = value
      module = importlib.import_module(module)
      functions[key] = getattr(module, name)
    return cls(functions)

有没有办法做 MAGIC() 所做的事情?

伊格纳西奥·巴斯克斯-艾布拉姆斯
>>> def foo():
...   pass
... 
>>> foo.__module__
'__main__'
>>> sys.modules[foo.__module__]
<module '__main__' (built-in)>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取在模块中显式定义的方法/函数的列表

来自分类Dev

从函数定义模块变量

来自分类Dev

基于可用模块定义函数

来自分类Dev

获取模块中定义的变量

来自分类Dev

JavaScript使独立函数工作而无需定义新函数

来自分类Dev

模块内部的Javascript未定义函数

来自分类Dev

从导入模块重新定义调用的函数

来自分类Dev

Julia模块调用用户定义函数

来自分类Dev

PHP获取定义的函数的参数

来自分类Dev

AngularJS从同一模块中的另一个函数调用模块中定义的函数

来自分类Dev

PHP 独立模块 - Bst 实践

来自分类Dev

获取Node.js函数定义

来自分类Dev

JavaScript获取构造函数未定义

来自分类Dev

获取Node.js函数定义

来自分类Dev

javascript获取函数未定义错误

来自分类Dev

获取函数定义并回显代码

来自分类Dev

从 jQuery 函数获取未定义的输出

来自分类Dev

定义获取列表中最高乘积对的函数

来自分类Dev

ImportError:动态模块未定义初始化函数

来自分类Dev

在Azure python函数中导入自定义模块

来自分类Dev

模块函数在Node.js中返回未定义

来自分类Dev

如何从页面中调用requirejs模块中定义的函数?

来自分类Dev

引用我尚未在Node模块中定义的函数

来自分类Dev

Drupal 7模块自定义JavaScript AJAX函数调用

来自分类Dev

范围未定义,在Angularjs模块中调用函数

来自分类Dev

模块函数在外部脚本中未定义

来自分类Dev

导入错误:动态模块未定义 init 函数 (initlibpyuno)

来自分类Dev

偏移独立哈希函数

来自分类Dev

偏移独立哈希函数