使用方法
此工具专用于 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 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
- 要获取名称 City Roads
解析路径的路径输出具有工作空间数据类型,并且可以作为输入直接连接到创建要素类工具的要素类位置参数,该参数接受工作空间数据类型作为输入。对于没有工作空间数据类型参数的工具(例如复制),可以使用行内变量替换(例如 %Path%\Out_%Name%.%Extension% )将路径值传递到工具。
语法
arcpy.mb.ParsePathExt(in_data_element, {format})
参数 | 说明 | 数据类型 |
in_data_element | 要解析的输入值。 | Any Value |
format (可选) | 移除所有保留字符。给定 C:\1Tool Data\InputFC.shp 的输入值:
| Boolean |
派生输出
名称 | 说明 | 数据类型 |
path | 输入的工作空间。 | 工作空间 |
name | 文件名(不包括扩展名)。 | 字符串 |
extension_type | 文件扩展名。 | 字符串 |
workspace_name | 工作空间的名称。 | 字符串 |
环境
此工具不使用任何地理处理环境。
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是