如何使一个工具变为可选,并且仅在填写参数时才运行?

2024-03-28 13:59:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在arcpy脚本中运行几个工具。在脚本的最后,我想给出一个选项,用Define projection更改投影。只是我不想运行的工具,如果用户不希望它运行,因此,如果没有参数输入到工具,那么它不会运行

这可能吗

我正在运行ArcMap 10.5。不知道你还需要知道什么

Prjs = arcpy.GetParameter(4)
Prjs_List = []
for Prj in Prjs:
    if Prj not in Prjs_List:
        print Prj
        Prjs_List.append(dem)
if len(Prjs_List) == True:
    arcpy.DefineProjection_management(Cont_Cliff_Merged, Prjs)
else:
   arcpy.AddMessage("Define Projection tool Skipped.")

我希望这将创建一个基于输入参数的列表,如果没有输入,print语句将显示出来

我收到一个错误,告诉我地理处理参数不可编辑,这意味着.prj文件不能放入列表中

有什么想法


Tags: 工具in脚本列表参数if选项list
1条回答
网友
1楼 · 发布于 2024-03-28 13:59:10

您需要改用GetParameterAsText()函数。这样,如果输入为空,它将返回一个空字符串,否则它将返回一个字符串。如果输入参数接受多个输入,则需要使用split()函数将多个输入拆分为字符串列表

例如:

Prjs = GetParameterAsText(4)
Prjs_List = Prjs.split(‘,’)
If len(Prjs_List):
Do something
Else:
Do otherthing

相关问题 更多 >