Je voudrais utiliser le code suivant pour déterminer si un chemin existe. Le chemin que je voudrais vérifier est transmis à mon code via un paramètre dans une boîte de dialogue d'outil ArcMap 10.0. Le type de données des paramètres est dossier, ce chemin de dossier est transmis à sys.argv [2] dans mon code ci-dessous.
{import sys
import os
if os.path.exists("%s"): %(sys.argv[2])
pass
else:
#Do Something Magical}
Normalement, je n'aurais aucun problème avec ce script si j'indiquais explicitement le chemin du dossier. Par exemple, l'un des trois suivants fonctionne bien et fait ce dont j'ai besoin:
os.path.exists("C:\\Data\\Hardwar\\Folder"):
os.path.exists(r"C:\Data\Hardwar\Folder"):
os.path.exists("C:/Data/Hardwar/Folder"):
Dans le code précédent, ce que je trouve, c'est que lorsque le chemin ie ( C:\Data\Hardwar\Folder
) est passé de mon paramètre à sys.argv [2], la première lettre après \ est échappée et à juste titre.
Comment formater le chemin d'accès dans sys.argv [2] vers un format de chemin d'accès python acceptable?
arcpy.GetParameterAsText(1)
au lieu de sys.argv[2]
?
arcpy.exists()
commande qui peut jouer plus bien avec des noms de fichiers et de dossiers impairs queos.path.exists
.