允许加载了imp的模块访问python中的局部变量

2024-04-24 05:44:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用python中的imp模块创建一个动态模块加载系统。我有两个文件,x.pyy.py,我想从x.py加载{},并让{}能够访问{}中声明的变量。这可能吗?在

从代码点来看,这就是我所拥有的:

x.py

import imp

global_var = 7
imp.load_source( 'y', 'y.py' )
print( global_var )

y.py

^{pr2}$

但是我不能从y.py更新x.pyglobal_var。在


Tags: 模块文件代码pyimport声明sourcevar
1条回答
网友
1楼 · 发布于 2024-04-24 05:44:08

模块xy具有分离的命名空间。更改y中的模块级变量不会影响x模块的命名空间。在

下面的方法怎么样?在

import imp

global_var = 7
y = imp.load_source('y', 'y.py') # < -
global_var = y.global_var        # < -
print(global_var)

更新回复评论。在

您可以使用^{}^{}(仅限于python2.x)。不推荐

^{pr2}$

相关问题 更多 >