Python でのデータのパスの設定

Python などのプログラミング言語は、円記号 (\) をエスケープ文字として扱います。たとえば、\n は改行を表し、\t はタブを表します。パスを指定する際には、スラッシュ (/) を円記号の代わりに使用できます。1 つではなく 2 つの円記号を使用すれば、構文エラーを避けることができます。また、円記号を含む文字列が正しく解釈されるように、文字列の前に文字 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")

次に示すサンプルでは、バックスラッシュの使用法が間違っており、\t は Python によってタブと解釈されます。パスが意図したとおりに解釈されないので、Get Count は失敗します。

例 2: Python での無効なパスの使用法
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)
ヒント:

同名のフィーチャクラスとフィーチャ データセットが 1 つのジオデータベースに含まれる可能性があります。このような場合、フィーチャクラスとフィーチャ データセットのカタログ パスは同一になります。ほとんどのツールが処理する対象はどちらか一方のみですが、 Copy ツールのようにどちらも処理できるツールの場合は、あいまいさを避けるためにデータ タイプを指定できます。