關於arcpy中的Cursor,for循環問題

MyDbf=ur'@.dbf'
Navi=ur'@.shp'

MyCurs=arcpy.UpdateCursor(MyDbf)#第一個指針
#NaviCurs=arcpy.SearchCursor(Navi)#如果將第二個指針放在這裏,則第一遍到頭後,指針就到底了,因此,要將指針放在第一個循環內部
print( time.strftime('%H:%M:%S',time.localtime()))
for MyCur in MyCurs:
    Leven=100
    NaviCurs=arcpy.SearchCursor(Navi)#嵌套循環的指針,應該放在這裏
    for NaviCur in NaviCurs:
        MyName=MyCur.rname
        leven=int(Levenshtein.levenshtein_distance(MyName,NaviCur.name))
        if leven<Leven:
            print "Myname: '%s' NaviName: %s" % ( MyName, NaviCur.name )
            print(leven,Levenshtein.levenshtein(NaviCur.name,MyName))
            Leven=leven
            MyCur.Navi_name=NaviCur.name
            MyCur.Leven=leven
            MyCurs.updateRow(MyCur)

print( time.strftime('%H:%M:%S',time.localtime()))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章