Dapatkah seseorang membantu saya memahami apa yang dilakukan 2 baris terakhir dari kode ini:
import arcpy
arcpy.env.workspace = "c:/esripress/python/data/exercise07"
arcpy.env.overwriteOutput = True
copy = arcpy.CopyFeatures_management("airports.shp","Results/airports.shp")
fc = "Results/airports.shp"
cursor = arcpy.da.UpdateCursor(fc, ["STATE"], ' "STATE" <> \'AK\'')
for row in cursor:
row[0] = "AK"
cursor.updateRow(row)
del row
del cursor
Saya mengerti bahwa fungsi loop melewati setiap record yang tidak memiliki nilai 'AK' dan memberikan catatan itu nilai "AK". Tapi apa yang saya tidak mengerti adalah apa del row
dan del cursor
dimaksudkan untuk melakukan.
Stephen telah menulis jawaban yang baik tetapi dia belum menjelaskan mengapa penting untuk melepaskan (menghapus) objek baris / kursor. Sebuah objek kursor atau baris terbuka meninggalkan kunci pada kelas fitur yang akan menyebabkan masalah ketika mencoba untuk membuat perubahan pada kelas fitur sampai sesi memegang kunci diakhiri, biasanya dengan menutup aplikasi tetapi dapat sama parahnya dengan me-restart komputer Anda . Karena Anda hanya memiliki satu bidang, daftar itu tidak perlu (hanya 'nyatakan', bukan ['nyatakan'] tetapi itu tidak akan berhenti berjalan; namun akan menimpa negara yang bukan 'AK' dengan "AK" sebagai kata Stephen.
—
Michael Stimson
Terima kasih atas masukan Anda, semua yang Anda katakan masuk akal. * Catatan, bandara shapefile adalah bandara di AK, saya mengisi catatan yang tidak memiliki nilai untuk NEGARA.
—
Gabe
State
nilai bandara mana pun yang sebelumnya tidak di Alaska