Mam skrypt Python dla ArcGIS, nad którym pracuję, i chciałbym mieć możliwość, aby skrypt został zamknięty, jeśli nie ma niezbędnych danych. Próbowałem prostej metody sys.exit (), ale dałoby to wyjątek w ArcMap, którego chciałbym uniknąć. Znalazłem ten wątek, który sugeruje użycie bloku try, więc utworzyłem tę funkcję:
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
Niestety to też nie działało. Cóż, to już nie powoduje tego błędu w ArcMap, ale też nie jest, no cóż, zakończone. W tej chwili mam większość mojego kodu w instrukcji if / else, ale to brzydkie. Czy ktoś ma jakieś inne sugestie?
Dzięki! Brian
arcgis-10.0
python
Brian Buell
źródło
źródło
Odpowiedzi:
Nie, blok try / try, którego będziesz potrzebować, będzie miał „catch”, który odbierze wywołanie wyjścia; więc w swojej próbie zrobiłbyś coś takiego:
Spowoduje to zapisanie, jeśli nie powiedzie się instrukcja „if”.
źródło