Сохранение, загрузка и повторный вызов работы в окне Python
Сохранение работы
В окне Python есть возможность для изучения и экспериментирования с Python в приложении ArcGIS for Desktop. Во многих случаях полезно сохранять проделанную в окне Python работу в файл, который можно будет использовать в следующих сеансах.
Содержимое окна Python можно сохранить в файл Python или текстовом файе. Щелкните окно Python правой кнопкой мыши и выберите Сохранить как (Save As), чтобы сохранить код либо в файл Python (.py), либо в текстовый файл (.txt). При сохранении в файл Python можно сохранить только код. При сохранении в текстовом файле все содержимое окна Python, включая код, возвращаемые сообщения и командную строку (>>>), будет записано в выходной файл.
При сохранении кода из окна Python в выходной файл будет записано только то, что в данный момент находится в окне Python. Удаленные фрагменты не будут записаны в файл.
Загрузка в окно Python
Окно Python является интерактивным интерпретатором, который удобен для быстрого выполнения инструментов геообработки или других команд Python. Однако код, который уже был написан и сохранен в автономный скрипт или в файл Python, также можно загрузить в окно Python, изменить и выполнить. Ниже показан простой скрипт, который просматривает класс объектов и поле и создает уникальный список значений поля. Это достаточно простой пример, но ввод вручную всех 13 его строк в окно Python может занять продолжительное время. Вместо этого щелкните правой кнопкой в окне Python и выберите Загрузить (Load). Выбранный вами код (сохраненный в автономном скрипте или как файл Python) будет немедленно загружен в окно Python. После загрузки в окно Python можно отредактировать положение класса объектов, имя поля или синтаксис, затем выполнить код, поместив курсор в конце кода и нажав клавишу ENTER.
Создает список уникальных значений поля на основе класса объектов и имени поля.
import arcpy
featureclass = "C:/data/county.gdb/hospital"
field = "Zip"
valueList = []
rows = arcpy.da.SearchCursor(featureclass, [field])
for row in rows:
valueList.append(row[0])
uniqueSet = set(valueList)
uniqueList = list(uniqueSet)
uniqueList.sort()
print(uniqueList)
Повторный вызов кода Python
Строки кода, выполненные ранее, можно вызвать снова, используя клавиши стрелок вверх и вниз. Это позволяет вставить указанную строку в место текущего положения курсора. Строку кода можно отредактировать и выполнить, либо выполнить ее еще раз в неизменном виде.