Python 名称错误:全局名称';fd';没有定义

Python 名称错误:全局名称';fd';没有定义,python,Python,我正在尝试运行我的代码,但我总是收到如下错误消息: Traceback (most recent call last): File "D:/WWF - Sustainable Hydropower/FRA/Code/f1_zonal_stats.py", line 180, in <module> zonal_statistics(*argv) File "D:/WWF - Sustainable Hydropower/FRA/Code/f1_zonal_stats.

我正在尝试运行我的代码,但我总是收到如下错误消息:

Traceback (most recent call last):
  File "D:/WWF - Sustainable Hydropower/FRA/Code/f1_zonal_stats.py", line 180, in <module>
    zonal_statistics(*argv)
  File "D:/WWF - Sustainable Hydropower/FRA/Code/f1_zonal_stats.py", line 49, in zonal_statistics
    set_environment(workspace, fd.mask_layer)
NameError: global name 'fd' is not defined
在您的代码片段中没有fd的定义(我刚刚看到fd的错误定义)。要将其定义为全局变量,您必须在任何函数之外对其进行定义,并对其进行更改,然后将其称为“全局fd”,无论您在何处进行更改。但是,可以在不将变量称为全局变量的情况下读取该变量

fd = something
.
.
.
def print():
    print(fd)

def change():
    global fd
    fd = something_else

你在哪里定义了fd?变量尚未初始化或给定值。fd应该返回什么值?我试图将fd定义为全局变量,你在哪里?既然你已经声明了它,它显然没有任何属性
mask\u layer
我在导入arcpy之前将“global fd”放在行中,以将fd定义为全局变量,但它仍然是一个全局变量error@ardinur就像我在上次评论中说的。
fd = something
.
.
.
def print():
    print(fd)

def change():
    global fd
    fd = something_else