можно сделать sys.exit () для выхода из фреймворка бутылки - PullRequest
5 голосов
/ 08 сентября 2010

Я надеялся, что установка 'sys.exit (1)' и перехват его позже, как это будет работать.

xml_open()
try:
  run(reloader=True, host='localhost', port=8080)
except SystemExit:
  xml_save()
  print "Exited ..."

Есть ли другое решение для выхода из этих микро-фреймворков Python для выхода изнутри обработчики?

Ответы [ 3 ]

1 голос
/ 23 апреля 2013

В случае, если это все еще проблема для вас, проверьте мой ответ здесь для чистого решения остановки каркаса бутылки.

1 голос
/ 08 сентября 2010

Если он не обрабатывается, проверьте, действительно ли он выполняет оператор sys.exist (1), потому что может произойти другое возникшее исключение, которое не обрабатывается, попробуйте это ....

xml_open()
try:
  run(reloader=True, host='localhost', port=8080)
except SystemExit:
  xml_save()
  print "Exited ..."
except Exception, e:
  print "ohhh no.......",str(e)
  import pdb
  pdb.post_mortem()
  sys.exit(-1)
0 голосов
/ 16 января 2011

Из моего ограниченного опыта, sys.exit() должно работать, когда перезагружатель выключен.В противном случае перегрузчик перезагрузит код на sys.exit(), и ваше приложение будет возобновлено.Конечно, я могу ошибаться по поводу того, почему sys.exit() не работает, но у меня это работало, когда я выключал перегрузчик.

...