使用导入模块中的父变量

时间:2019-02-02 08:31:55

标签: python python-3.x python-import

我有一些脚本,即main.py 它使用带有一些变量的模块module.py

功能func1, func2...

整数int1, int2...

以此类推

因此,我需要通过名为module.py的全新子模块扩展submodule.py的功能,该子模块应使用module.py的变量为我提供新功能。

以下是submodule.py的一些代码:

class New_Feature:
    def __init__(self, param1):
        result = func1(param1, default_param)
        self.attr1 = func2(result.attr2)
    def inner_func(self)
        return self.attr1 + int1

所以我在from submodule import *代码中使用module.py(我知道没有覆盖的名称),然后在module.New_Feature中使用main.py

该代码抛出NameError: name 'func1' is not defined

那么我如何导入子模块以在其中使用模块的变量?

编辑:只是解释为什么我需要这个。我正在编写具有许多功能的API包装器,但是这些功能应该是可选的,以免增加主文件的大小,以便用户可以使用所需的内容。

1 个答案:

答案 0 :(得分:0)

  

因此,我需要通过一个名为submodule.py的全新子模块来扩展module.py的功能,该子模块应使用module.py的变量为我提供新功能。

您要实现的是来自Python 2.x的execfile

请注意,可以通过oauth_scope: - https://www.googleapis.com/auth/drive localsglobals - 呼叫

有关的Python 3.x中可以使用ideasman42从食谱What is an alternative to execfile in Python 3?

execfile