安装了ArcGIS 9.3 sp1后,感觉好多了,也稳定多了。但是,今天不幸发现了它的一个Bug,消耗掉我三个小时的时间。
下面具体介绍一下这个情况:
使用Python调用Geoprocessor来对数据进行处理时,进行字段计算,即调用gp.CalculateField_management函数 时,如果使用了代码块(codeblock),那么,语句之后所有的运行不会有信息返回到终端。我运行的代码片段如下:
expression = 'getclass(!XZQDM!,!DJH!)'
codeblock = """def getclass(xz , zd):
print 'Hello'
return 'aaa' """
print "HeHe..."
calcField(outlabel , 'DJH_temp' , '[DJH]' )
try:
gp.CalculateField_management(outlabel , calFd , expression , 'PYTHON_9.3' , codeblock )
# gp.CalculateField_management(outlabel, calFd, expression, 'PYTHON', codeblock)
except:
print "Error ..."
因为我都是通过程序将信息Echo到终端来看一下运行的情况,所以没有返回信息时我就以为程序错了,然后就不断地调试再调试。其实程序的运行结果还是对 的。
其他的情况没测试,并且我也不知道这是我机器的问题,还是的确是一个Bug,期待交流。
其他的情况没测试,并且我也不知道这是我机器的问题,还是的确是一个Bug,期待交流。
没有评论:
发表评论