Я писал Python в своем текстовом редакторе, поэтому у меня есть скрипт Python, script.py. Я все еще занимаюсь его разработкой, поэтому пока не хочу помещать его в свой набор инструментов, и на данный момент это означает копирование и вставку его из моего текстового редактора в окно Python в ArcGIS Desktop.
Есть ли команда, которая позволяет мне вызывать ее из окна ArcGIS Python?
Что-то вроде:
run script.py
Кажется логичным, что оно должно существовать, но, возможно, нет.
arcpy
arcmap
python-window
whatahitson
источник
источник
Ответы:
Вы могли бы использовать
execfile
.Например,
источник
Я не уверен в вашем уровне опыта, но прежде чем вы зайдете слишком далеко, вы захотите изучить некоторые лучшие практики в Python. Было бы более идиоматичным, или « Pythonic », модульно преобразовать ваш код в функции / классы ,
import
ваш модуль и вызвать одну или несколько функций / классов.Если вы хотите внести изменения и в интерактивном режиме протестировать уже импортированный модуль, вы можете использовать
reload
встроенную функцию.Используйте
if __name__ == '__main__'
трюк, чтобы защитить основную процедуру вашего сценария (все, кроме импорта, объявлений функций / классов и, возможно, некоторых объявлений на уровне модуля) от автоматического запуска при импорте модуля, и выполнять эту логику только при непосредственном запуске сценария, например, из командная строка или через ArcToolbox.Затем вы можете протестировать определенные части вашего модуля, просто вызвав соответствующие классы / функции.
источник
reload()
функцией и всей мерзостью кеширования модулей и тому подобного в Python. Если вы итеративно пишете какой-то небольшой скрипт в текстовом редакторе, это немного излишне.reload
пока я не используюfrom module import x
илиfrom module import *
.