Skip to main content

解析路径 (模型工具)

汇总

可将输入解析为其文件名、扩展名、路径和最后一个工作空间名称。 输出可用作其他工具的输出名称中的行内变量

了解“解析路径”在 ModelBuilder 中的工作原理

用法

  • 此工具仅在 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
      
  • 此工具的路径输出具有工作空间数据类型,可直接作为输入连接到创建要素类工具的要素类位置参数,该参数接受工作空间数据类型作为输入。 对于没有工作空间数据类型参数的工具(例如复制),可以使用行内变量替换(例如 %Path%\Out_%Name%.%Extension%)将路径值传递给工具。

    使用“创建要素类”工具解析路径

参数

标注 说明 数据类型

输入值

将解析的输入值。

Any Value

格式化名称、扩展名和工作空间

(可选)

指定是否将移除所有保留字符。

  • Checked—将移除保留字符。

  • Unchecked—将不会移除保留字符。 这是默认设置。

Boolean

派生输出

标注 说明 数据类型

路径

输入的工作空间。

Workspace

名称

文件名,不包括扩展名。

String

扩展名

文件扩展名。

String

工作空间名称

工作空间的名称。

String

环境

此工具不使用任何地理处理环境。

许可信息

  • 基本: 是
  • 标准: 是
  • 高级: 是