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")

例 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)
ヒントヒント:

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

関連トピック

5/10/2014