У меня есть скрипт Python для ArcGIS, над которым я работаю, и я хотел бы иметь возможность завершить работу скрипта, если в нем нет необходимых данных. Я попытался использовать sys.exit (), но это дало бы исключение в ArcMap, которого я бы хотел избежать. Я нашел этот поток, который предлагает использовать блок try, поэтому я сделал эту функцию:
def quit_script(message):
log_msg(message) # already defined; writes a message to a file
if log_loc:
output.close() # close the file used with log_msg()
try:
sys.exit()
except SystemExit:
pass
К сожалению, это тоже не сработало. Ну, это больше не делает эту ошибку в ArcMap, но также не завершает работу. Прямо сейчас у меня есть большая часть моего кода в операторе if / else, но это ужасно. У кого-нибудь есть другие предложения?
Благодаря! Брайан
arcgis-10.0
python
Брайан Буэлл
источник
источник
Ответы:
Нет, блок try / Кроме того, что вы захотите, будет иметь «catch» для получения вашего выхода; так что в вашей попытке вы бы сделали что-то вроде этого:
Это будет файл, если ваш оператор «если» не удается.
источник