The ArcPy layer.labelClasses.expression method does not accept properly formatted strings if they contain multiple quotation marks.
上次发布: June 24, 2015ArcGIS for Desktop
漏洞 ID 编号
BUG-000088225
已提交
June 9, 2015
上次修改时间
June 5, 2024
适用范围
ArcGIS for Desktop
找到的版本
10.3.1
状态
Will Not Be Addressed
开发团队已考虑过该问题或请求,并决定不会解决该问题。 问题的“其他信息”部分可能包含进一步说明。
附加信息
This is a known behavior. The additional quotes are needed to make sure the Python window reads the field 'FID' and not a variable in a list.
解决办法
The additional quotes are needed to properly form the string to be set as the expression. Without them it will not read 'FID' as a field. Instead, the method inteprates as the user is trying to use a variable in a list, because that is what that means in a Python interpreter. In the expression dialog, it does not expect the additional quotes because the Python parser understands that the brackets around a word indicate a field.
Use triple quotes around the expression to maintain the full string:
layer.labelClasses[0].expression = ''' "<CLR red='255'><FNT size = '17'>" + [OBJECTID] + "</FNT></CLR>" '''