Définition des chemins d'accès aux données dans Python

Les langages de programmation, tels que Python, traitent une barre oblique inverse (\) en tant que caractère d'échappement. Par exemple, \n représente un saut de ligne et \t représente une tabulation. Lorsque vous spécifiez un chemin d'accès, vous pouvez utiliser une barre oblique (/) à la place d'une barre oblique inverse. Deux barres obliques inverses peuvent être utilisées au lieu d'une pour éviter une erreur de syntaxe. Un littéral de chaîne peut être également utilisé en plaçant la lettre r avant une chaîne contenant une barre oblique inverse afin de l'interpréter correctement.

Exemple 1 : utilisation valide des chemins d'accès dans 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")

Exemple 2 : utilisation non valide des chemins d'accès dans Python

Dans l'exemple suivant, les barres obliques inverses sont utilisées par erreur et \t est interprété en tant que tabulation par Python. GetCount échoue, puisque le chemin d'accès est interprété de manière imprévue.

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)
AstuceAstuce:

Il est possible qu'une classe d'entités et un jeu de données d'entité de même nom figurent dans une géodatabase. Dans ce cas, la classe d'entités et le jeu de données d'entité auront le même chemin d'accès ArcCatalog. La plupart des outils utilisent l'un ou l'autre de ces éléments. Toutefois, pour les outils pouvant utiliser ces deux éléments, tels que l'outil Copier, le type de données peut être spécifié pour éviter toute ambiguïté.

Thèmes connexes

9/12/2013