3 votos

arcpy.Exists no funciona dentro de script

Tengo el siguiente código. Quiero ver si un nombre de capa existe dentro de un documento de mapa, no si el shapefile existe en el directorio. Si copio y pego en la ventana de python dentro de ArcMap funciona bien. IE. Imprime: Verdadero

Si ejecuto el programa como un script independiente no funciona? Imprime False cuando debería imprimir True Tengo el código que configura el mxd y el dataframe.

if arcpy.Exists("project_aoa") == True:
    print("TRUE")
elif arcpy.Exists("project_aoa") == False:
    print("FALSE")

Estas capas están dentro de una capa de grupo, ¿debería importar esto?

project_aoa es un shapefile.

EDITADO:

Terminé haciendo esto:

for item in mxds:
    mxd = arcpy.mapping.MapDocument(r"{0}".format(item))
    df=arcpy.mapping.ListDataFrames(mxd,"Project Area")[0]

    for lyr in arcpy.mapping.ListLayers(mxd, "project_aoa", df):
        if lyr.name == "project_aoa":
            print("True")
        else:
            print ("False")

5voto

rAndy Puntos 327

si no quieres usar la serie geométrica directamente en el espacio matricial, también puedes pensar en esto como el número complejo $-i\epsilon$ en la correspondencia $$a+bi\to\left(\begin{array}{cc}a&-b\\b&a\\\end{array}\right)$$ y utilizar la serie geométrica (para números complejos de norma inferior a 1) $$\sum A^n=\sum (-i\epsilon)^n=\frac{1}{1+i\epsilon}=\frac{1-i\epsilon}{1+\epsilon^2}= \frac{1}{1+\epsilon^2}\left(\begin{array}{cc}1&\epsilon\\-\epsilon&1\\\end{array}\right)$$

3voto

rptony Puntos 700

Este código me funciona:

mxd = arcpy.mapping.MapDocument(mxd_Path)

for lyr in arcpy.mapping.ListLayers(mxd):
    print lyr
    print arcpy.Exists(lyr.dataSource)   

Para más información, consulte este

2voto

Roy Puntos 2884

No estoy seguro de que sea necesario probar la igualdad aquí. El método exists debería devolver true o false por sí mismo.

Prueba esto:

if arcpy.Exists("project_aoa"):
    print "True"

Además, puedes acortar un poco el código utilizando una sentencia else en lugar de un elif.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X