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>" '''