解析路径 (模型工具)
汇总
可将输入解析为其文件名、扩展名、路径和最后一个工作空间名称。 输出可用作其他工具的输出名称中的行内变量。
用法
此工具仅在 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_Data在脚本编程中,可以使用 Python
os模块实现相同的功能。 例如,如果传递以下输入变量:inData = r"C:\1Tool Data\City Roads.shp",则要获取名称
City Roadsimport os name = os.path.basename(inData)要获取路径
C:\1Tool Dataimport os path = os.path.dirname(inData)要获取文件扩展名
shpimport os ext = os.path.splitext(inData)[1][1:]要获取工作空间名称
1Tool Dataimport os folder = os.path.basename(os.path.dirname(inData))
要以与选中格式化名称、扩展名和工作空间参数时类似的方式解析路径,请执行以下操作:
要获取名称
City_Roadsimport os import re name = os.path.basename(inData) name = re.sub('[^0-9a-zA-Z]+', '_', name) if name[0].isdigit(): name = "_" + name要获取路径
C:\1Tool Dataimport os path = os.path.dirname(inData)要获取文件扩展名
shpimport os ext = os.path.splitext(inData)[1][1:]要获取工作空间名称
_1Tool_Dataimport 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 |
环境
此工具不使用任何地理处理环境。
许可信息
- 基本: 是
- 标准: 是
- 高级: 是