Eu gostaria de usar o código a seguir para determinar se existe um caminho. O caminho que gostaria de verificar está sendo passado para o meu código via parâmetro em uma caixa de diálogo da ferramenta ArcMap 10.0. O tipo de dado dos parâmetros é folder, esse caminho da pasta está sendo passado para sys.argv [2] no meu código abaixo.
{import sys
import os
if os.path.exists("%s"): %(sys.argv[2])
pass
else:
#Do Something Magical}
Normalmente, eu não teria nenhum problema com esse script se estivesse declarando explicitamente o caminho da pasta. Por exemplo, qualquer um dos três seguintes funciona bem e faz o que eu preciso:
os.path.exists("C:\\Data\\Hardwar\\Folder"):
os.path.exists(r"C:\Data\Hardwar\Folder"):
os.path.exists("C:/Data/Hardwar/Folder"):
No código anterior, o que estou descobrindo é que, como o caminho ie ( C:\Data\Hardwar\Folder
) está sendo passado do meu parâmetro para sys.argv [2], a primeira letra após \ está sendo escapada e com razão.
Como formatar o caminho em sys.argv [2] para um formato de caminho aceitável em python?
arcpy.GetParameterAsText(1)
vez de sys.argv[2]
?
arcpy.exists()
comando que pode ser mais bem reproduzido com nomes de arquivos e pastas ímpares queos.path.exists
.