ArcGIS Python标签表达式E

2024-09-30 03:24:04 发布

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

我最近开始学习Python,并开始使用它在ArcMap中创建标签表达式。我今天遇到了一个错误,但我无法理解(看起来应该很简单)。当我尝试创建以下表达式时:

def FindLabel ( [FacilityName] ):
  S = [FacilityName] 
  S = S.upper()
  return S

我返回错误如下:

^{pr2}$

[FacilityName]是一个域域字段,允许空值。我明白,我认为,'NoneType'意味着[FacilityName]在尝试返回之前被赋予一个None值,但我不知道如何解决这个问题。在

谢谢

伊桑


Tags: nonereturn表达式def错误标签upper空值
1条回答
网友
1楼 · 发布于 2024-09-30 03:24:04

我很确定所有的值都以字符串的形式返回,但是如果是空值,它可能会返回为None,这可以解释您得到的错误。在

您可以在函数中使用try..except块或生成条件语句来忽略None值。在

以下是try..except

def FindLabel ( [FacilityName] ):
    try:
        S = [FacilityName] 
        S = S.upper()
        return S
    except AttributeError:
        pass

相关问题 更多 >

    热门问题