我试图为工具箱编写一个简单的脚本,类似于Addfield_datamanagement
工具箱。该脚本将一个新字段添加到要素类或带有属性表的shapefile
的表中。
到现在为止,一直都还不错。在
# Import system modules
import arcpy
#Workspace
arcpy.env.workspace="C:\\Users\\xxx.gdb"
# Set feature class
inputFC = arcpy.GetParameterAsText(0)
# Get List of Fieldnames
inputString =arcpy.GetParameterAsText(1)
inputString =arcpy.ValidateFieldName(inputString,arcpy.env.workspace)
fieldList =inputString.split(";")
fieldType = arcpy.GetParameterAsText(2)
for fieldName in fieldList:
arcpy.AddField_management(inputFC , fieldName, fieldType)
arcpy.AddMessage("Field generated:" + fieldName)
arcpy.AddMessage ("Script executed")
所以这似乎是可行的,但是现在我想先检查一下fieldname
是否已经存在,然后再打印现有的名称!
我考虑了列表字段和内置的len()
函数:
不知道ListFields
命令的语法以及如何在上面的代码中集成它!所以,任何帮助都是欢迎和感谢!在
ListFields
返回字段对象的list
,这些对象中的每个对象都有与之关联的attributes。在结构如下:
您可能需要访问每个field对象的
.name
属性,以确定它是否匹配变量fieldList
中的任何名称。在首先,生成字段名列表:
^{pr2}$接下来,将现有字段列表与用户要添加的字段列表进行比较:
相关问题 更多 >
编程相关推荐