在.pyt中,我可以定义如下所述的参数:
我已经创建了一个布尔参数,代码片段如下:
def getParameterInfo(自我): | |
""" "定义参数定义""" |
…其他一些参数…
# 3。覆盖 | ||
Param3 = arcpy。参数( | ||
displayName="覆盖现有OBJ", | ||
name =“覆盖”, | ||
数据类型=“GPBoolean”, | ||
parameterType = "需要", | ||
方向=“输入”) |
参数可以工作,但它的默认值为True让我很恼火,我希望它的默认值为False。
v.h。马丁
解决了!进入解决方案。
你可以这样设置默认值:
Param3 = arcpy。参数(displayName="覆盖现有OBJ",name =“覆盖”,数据类型=“GPBoolean”,parameterType = "需要",方向=“输入”)param3.价值=“假”
很好,蒂姆。
在帮助页面中有关于这个主题的更多细节(和示例):
布尔值的另一个问题是关键字的使用,因此脚本工具的对话框(和arcpy)将支持关键字的选择列表。
从同一个帮助页面:
值列表可用于布尔数据类型。对于布尔数据类型,值列表包含两个值:真值和假值。真实值总是列表中的第一个值。这些值在命令行中用于指定值。
param3.filter。list = ["OVERWRITE", "NO_OVERWRITE"]
param3。价值=False
蒂莫西·黑尔斯和马丁Hvidberg-想知道:
param3。价值=“假”
因为Python bool ("False")是true(即字符串是"False"是非空的,因此它被认为是true的值。参数对象可能会将其从“False”转换为“False”,但我会检查以确定。
这是合理的担忧。我刚刚测试了这个,字符串和原始值都是正确的。
def getParameterInfo(自我):
""" "定义参数定义"""
Param2 = arcpy。参数(
displayName =“错误字符串”,
name = " FalseString ",
数据类型=“GPBoolean”,
parameterType = "需要",
方向=“输入”)
param2。价值=“假”
Param3 = arcpy。参数(
displayName =“False”,
name = "错误",
数据类型=“GPBoolean”,
parameterType = "需要",
方向=“输入”)
param3。价值=False
Param4 = arcpy。参数(
displayName =“真正的字符串”,
name = " TrueString ",
数据类型=“GPBoolean”,
parameterType = "需要",
方向=“输入”)
param4。价值="True"
Param5 = arcpy。参数(
displayName = " True ",
name = " True ",
数据类型=“GPBoolean”,
parameterType = "需要",
方向=“输入”)
param5。价值=True
Params = [param2, param3, param4, param5]
返回参数
Def execute(self, parameters, messages):
"""工具的源代码。"”“
arcpy.AddMessage ([k。价值for k in parameters])
返回
执行:Tool false false true true开始时间:星期一Sep 29 16:09:23 2014运行脚本Tool…[假,假,真,真]脚本完成工具…成功于2014年9月29日星期一16:09:23(运行时间:0.00秒)
是的,的确,所有内容都通过其字符串表示来解释,我打赌这是不区分大小写的(“false”被arcpy解释为与“false”相同)。