Describe

Resumen

La función Describir devuelve el objeto Descripción que contiene varias propiedades, como tipo de datos, campos, índices y otras. Sus propiedades son dinámicas, lo que significa que depende del tipo de datos que se describe, distintas propiedades de descripción estarán disponibles para su uso.

Las propiedades de descripción se organizan en una serie de grupos de propiedades. Cualquier dataset en particular adquirirá las propiedades de al menos uno de estos grupos. Por ejemplo, si describe una clase de entidad de geodatabase, puede acceder a las propiedades desde los grupos de propiedades FeatureClass de GDB, FeatureClass, Tabla y Dataset. Todos los datos, sin importar su tipo, siempre adquirirán las propiedades genéricas de Objeto de descripción.

Debate

Many data types include properties from other property groups. For instance, if describing a geodatabase feature class, you could access properties from the GDB FeatureClass, FeatureClass, Table and Dataset property groups.

NotaNota:

In some cases the object returned by Describe will not have all of the properties that are documented for it. For example, the describe object for a Layer in ArcMap's table of contents will not have the layer property set. That property only exists if you describe a .lyr file.

If you try to access a property that a Describe object does not have, it will either throw an error or return an empty value (None, 0 or -1, empty string). If you are uncertain of a particular property, you can use Python's hasattr() function to check.

Sintaxis

Describe (value)
ParámetroExplicaciónTipo de datos
value

The specified data element or geoprocessing object to describe.

String
Valor de retorno
Tipo de datosExplicación
Describe

Returns an object with properties detailing the data element described. Some of the returned object's properties will contain literal values or objects.

Ejemplo de código

Describe properties example (stand-alone script)

The following stand-alone script displays some layer and describe object properties from a layer set by a script parameter. The parameter might get set to either a .lyr file or to a layer in ArcMap.

import arcpy

# Get the layer as a parameter and describe it.
#
# The layer could be a layer in ArcMap (like "some_layer")
# Or, it could be a .lyr file (like "C:/data/some.lyr")
#
layerString = arcpy.GetParameterAsText(0)
desc = arcpy.Describe(layerString)

# Print selected layer and describe object properties
# 
print "Name:", desc.name
if hasattr(desc, "layer"):
    print "Layer name:", desc.layer.name
    print "Layer data source:", desc.layer.catalogPath
    print ".lyr file:", desc.catalogPath
else:
    print "Layer name:", desc.name
    print "Layer data source:", desc.catalogPath

if desc.fidSet != '':
    print "Number of selected features:", str(len(desc.fidSet.split(";")))

Temas relacionados


7/10/2012