【发布时间】:2014-07-08 02:00:59
【问题描述】:
我的设置是这样的。
我有一个engine.py,它定义了我在外部script.customextension 中编写和修改的许多变量和自定义函数。我正在使用imp.load_source('script', 'script.customextension') 导入我的外部脚本,但是当我这样做时,无法从外部模块访问所有变量和函数。
然后我尝试将其写为外部脚本中的第一行:from engine import *,但随后我将重新实例化所有对象并丢失已创建的我需要访问的对象。
以下是粗略的简化
文件engine.py
a = 10
def f(myval):
global a
a = myval
print(a)
if __name__ == '__main__':
imp.load_source('script', 'script.ext')
和文件
script.ext 有这一行
f(20)
运行engine.py时的结果:
NameError: name 'f' is not defined
我想要的是:
20
【问题讨论】:
标签: python import namespaces