パスの解析 (Parse Path) (モデル ツール)
サマリー
入力を解析してファイル名、拡張子、パス、最終ワークスペース名を出力します。 出力は、インライン変数として他のツールの出力名で使用できます。
使用法
このツールはモデルで使用する ModelBuilder からのみ利用できます。 このツールは、ジオプロセシング ウィンドウまたは Python からは利用できません。
たとえば
C:\Temp\Out_%Name%_%Workspace Name%のように、複数の変数名を追加して出力に一意の名前を作成することができます。たとえば、このツールへの入力が
C:\1Tool Data\City Roads.shpの場合、解析が実行されて以下が出力されます:解析
結果
パス
C:\1Tool Data名前
City Roads拡張子
shpワークスペース名
1Tool Data名前、拡張子、ワークスペースの書式設定 パラメーターがオンの場合、上記のパスは解析されて以下の出力になります:
解析
結果
パス
C:\1Tool Data名前
City_Roads拡張子
shpワークスペース名
_1Tool_DataPython の
osモジュールを使用すると、スクリプトで同じ機能を利用できます。 たとえば、入力変数としてinData = r"C:\1Tool Data\City Roads.shp"を渡す場合、次のようになります。名前
City Roadsを取得する場合import os name = os.path.basename(inData)パス
C:\1Tool Dataを取得する場合import os path = os.path.dirname(inData)ファイル拡張子
shpを取得する場合import os ext = os.path.splitext(inData)[1][1:]ワークスペース名
1Tool Dataを取得する場合import os folder = os.path.basename(os.path.dirname(inData))
名前、拡張子、ワークスペースの書式設定 パラメーターをオンにした場合と同様の方法でパスを解析するには、以下を実行します:
名前
City_Roadsを取得する場合import os import re name = os.path.basename(inData) name = re.sub('[^0-9a-zA-Z]+', '_', name) if name[0].isdigit(): name = "_" + nameパス
C:\1Tool Dataを取得する場合import os path = os.path.dirname(inData)ファイル拡張子
shpを取得する場合import os ext = os.path.splitext(inData)[1][1:]ワークスペース名
_1Tool_Dataを取得する場合import os import re folder = os.path.basename(os.path.dirname(inData)) folder = re.sub('[^0-9a-zA-Z]+', '_', folder) if folder[0].isdigit(): folder = "_" + folder
このツールの パス の出力にはワークスペースのデータ タイプがあり、フィーチャクラスの作成 ツールの フィーチャクラス ロケーション パラメーターへの入力として直接接続できます。このパラメーターは、入力としてワークスペース データ タイプを使用します。 ワークスペース データ タイプ パラメーターがない コピー のようなツールでは、パス の値は、
%Path%\Out_%Name%.%Extension%などのインライン変数置換を使用してツールに渡すことができます。
パラメーター
| ラベル | 説明 | データ タイプ |
|---|---|---|
|
入力値 |
解析される入力値。 |
Any Value |
|
名前、拡張子、ワークスペースの書式設定 (オプション) |
すべての予約文字を削除するかどうかを指定します。
|
Boolean |
派生した出力
| ラベル | 説明 | データ タイプ |
|---|---|---|
|
パス |
入力のワークスペース。 |
Workspace |
|
名前 |
拡張子を除くファイル名。 |
String |
|
エクステンション |
ファイル拡張子。 |
String |
|
ワークスペース名 |
ワークスペースの名前。 |
String |
環境
このツールは、ジオプロセシング環境を一切使用しません。
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい