Establecer rutas de acceso a datos en Python

Los lenguajes de programación, tales como Python, tratan una barra diagonal inversa (\) como un carácter de escape. Por ejemplo, \n representa un avance de línea y \t representa un tabulador. Al especificar una ruta de acceso, se puede utilizar una barra diagonal (/) en lugar de una barra diagonal inversa. Se puede utilizar dos barras diagonales inversas en lugar de una para evitar errores de sintaxis. También se puede usar un literal de cadena colocando la letra r antes de una cadena de caracteres que contenga una barra diagonal inversa, para que se interprete correctamente.

Ejemplo 1: uso válido de rutas de acceso en Python

import arcpy

arcpy.GetCount_management("c:/temp/streams.shp")
arcpy.GetCount_management("c:\\temp\\streams.shp")
arcpy.GetCount_management(r"c:\temp\streams.shp")

Ejemplo 2: uso no válido de rutas de acceso en Python

En el siguiente ejemplo, se utilizan por equivocación barras diagonales invertidas y Python interpreta \t como un tabulador. GetCount producirá un error, puesto que la ruta se interpreta de manera diferente a la deseada.

import arcpy
arcpy.GetCount_management("c:\temp\streams.shp")

# ExecuteError: Failed to execute. Parameters are not valid.
# ERROR 000732: Input Rows: Dataset c:      em\streams.shp does not exist or is not supported
# Failed to execute (GetCount)
SugerenciaSugerencia:

Es posible tener una clase de entidad y un dataset de entidad con el mismo nombre contenidos dentro de una geodatabase. En tal caso, la clase de entidad y el dataset de entidad tendrán la misma ruta de acceso de ArcCatalog. La mayoría de las herramientas funcionan con cualquiera de ellas. No obstante, para las herramientas que puedan funcionar con cualquier de ellas, tales como la herramienta Copy, se puede especificar el tipo de datos para evitar la ambigüedad.

Temas relacionados

9/11/2013