无法访问全局变量

2024-04-24 08:37:37 发布

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

我试图在一个特定的环境中执行一些代码,在这个环境中我导入了它的一些依赖项,但是我总是收到一个错误,说找不到模块。我打开了一个调试器,在全局环境中看到了这个模块,但是当我试图使用普通的作用域方法访问该模块时,python似乎找不到它。在

(Pdb) globals['my_import']
<module 'tmp0fZtOs' from '/tmp/tmp0fZtOs.py'>
(Pdb) my_import
*** NameError: name 'my_import' is not defined

我还发现了一些文档,其中提到全局变量需要显式引用才能用于函数,但是当我尝试如下操作时,我也会得到一个错误。在

^{pr2}$

有什么想法可以让我的执行代码使用这个模块?在


Tags: 模块方法代码fromimport环境my错误
1条回答
网友
1楼 · 发布于 2024-04-24 08:37:37

您声明了my_import是全局的,但是没有给它赋值,因此它不存在。在

def temp_function(): 
    global my_import
    my_import = 1
    print(my_import)

temp_function()
if "my_import" in globals().keys():
    print("Variable is global")
    print(globals()['my_import'])

相关问题 更多 >