Настройка путей к данным в Python

В языках программирования, таких как Python, обратная косая черта (\) используется как символ-escape. Например, \n обозначает перевод строки, а \t обозначает табуляцию. Указывая путь, можно использовать обычную косую черту (/) вместо обратной косой черты. Две обратные косые черты можно использовать вместо одной во избежание синтаксических ошибок. Также можно использовать строковой литерал, поставив букву r перед строкой, содержащей обратную косую черту, чтобы она была проинтерпретирована правильно.

Пример 1: Правильное использование пути в языке 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")

Пример 2: Неправильное использование пути в языке Python

В следующем примере обратные косые черты используются неправильно, и \t интерпретируется Python как табуляция. Посчитать строки (GetCount) будет отсутствовать, так как путь проинтерпретирован неверно.

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)
ПодсказкаПодсказка:

В базе геоданных может находиться класс пространственных объектов и набор классов объектов с одним и тем же именем. В таком случае у класса пространственных объектов и набора классов объектов будет одни и тот же путь ArcCatalog. Большинство инструментов работают либо с тем, либо с другим. Однако для тех инструментов, которые работают с обоими, как, например, инструмент Копировать (Copy), необходимо указывать тип данных во избежание неясности.

Связанные темы

9/11/2013