Getting NameError on GetParameterAsText

arcgis-proarcpynameerrorparameters

I am trying to write a simple script that get input from a variable in ModelBuilder and use it in a Python script to "zoom" on a selected features in layout.

Here is the script and the error:

aprx = arcpy.mp.ArcGISProject('CURRENT')
mapx = aprx.listMaps()[0]
lyr = mapx.listLayers()[4]
quartier = arcpy.GetParameterAsText(0)

lyr.definitionQuery = '"NOM" = ' + "'"+GetParameterAsText(0)+"'"

lyt = aprx.listLayouts()[0]
mf = lyt.listElements('MAPFRAME_ELEMENT')[0]

mf.camera.setExtent(mf.getLayerExtent(lyr, False, True))

Traceback (most recent call last): File
"C:\Users…\Projet\zoom.py", line 10, in
lyr.definitionQuery = '"NOM" = ' + "'"+GetParameterAsText(0)+"'" NameError: name 'GetParameterAsText' is not defined

The model variable and Python variables have the exact same name.
The model variable data type is set as a string.
The script variable datatype is set to all values.

My version of ArcGIS Pro is in French.

Best Answer

Where you have:

lyr.definitionQuery = '"NOM" = ' + "'"+GetParameterAsText(0)+"'"

it should be:

lyr.definitionQuery = '"NOM" = ' + "'"+arcpy.GetParameterAsText(0)+"'"

However, since you have previously set quartier = arcpy.GetParameterAsText(0) you could also use Python string formatting to do the same thing:

lyr.definitionQuery = "NOM = '{0}'".format(quartier)
Related Question