我有一些脚本,即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包装器,但是这些功能应该是可选的,以免增加主文件的大小,以便用户可以使用所需的内容。
答案 0 :(得分:0)
因此,我需要通过一个名为submodule.py的全新子模块来扩展module.py的功能,该子模块应使用module.py的变量为我提供新功能。
您要实现的是来自Python 2.x的execfile
请注意,可以通过oauth_scope:
- https://www.googleapis.com/auth/drive
和locals
在globals
- 呼叫
有关的Python 3.x中可以使用ideasman42从食谱What is an alternative to execfile in Python 3?
execfile