Как прервать выполнение скрипта Python? [Дубликат]

Только один способ, которым я смог это сделать. Нет гарантии безопасности ваших существующих данных.

Немедленно удалите файлы данных и перезапустите mongod.

Например, с помощью ubuntu (путь по умолчанию к данным: / var / lib / mongodb) у меня было пару файлов с именем вроде: collection. #. Я сохраняю коллекцию.0 и удаляю все остальные.

Кажется более простым способом, если у вас нет серьезных данных в базе данных.

142
задан Community 23 May 2017 в 10:31
поделиться

8 ответов

Для выхода из сценария, можно использовать,

import sys
sys.exit()

можно также обеспечить значение статуса выхода, обычно целое число.

import sys
sys.exit(0)

Выходы с нулем, который обычно интерпретируется как успех. Ненулевые коды обычно рассматривают как ошибки. Значение по умолчанию должно выйти с нулем.

import sys
sys.exit("aa! errors!")

Печать "aa! ошибки!" и выходы с кодом состояния 1.

существует также _exit () функция в модуле OS. sys.exit () функция повышает исключение SystemExit для выхода из программы, таким образом попробуйте операторы, и код очистки может выполниться. OS. _ выход () версия не делает этого. Это только заканчивает программу, не делая никакой очистки или сбрасывая буферы вывода, таким образом, это не должно обычно использоваться.

документы Python указывают на ту OS. _ выход () является нормальным способом закончить дочерний процесс, созданный вызовом к os.fork (), таким образом, он действительно имеет использование при определенных обстоятельствах.

246
ответ дан Matthew Strawbridge 23 May 2017 в 10:31
поделиться
  • 1
    Мы won' t обещают, что Ваше приложение продолжит работать правильно в будущем. – hackbod 30 March 2012 в 16:51

выход () должен сделать это.

3
ответ дан Dana 23 May 2017 в 10:31
поделиться
  • 1
    @parag открывают другой вопрос с немного большим количеством exp и i' ll пытаются ответить что:) – Chris.Jenkins 26 April 2012 в 08:01

Вы могли поместить тело своего сценария в функцию, и затем Вы могли возвратиться из той функции.

def main():
  done = True
  if done:
    return
    # quit/stop/exit
  else:
    # do other stuff

if __name__ == "__main__":
  #Run as main program
  main()
17
ответ дан David Locke 23 May 2017 в 10:31
поделиться

Если вся программа должна остановиться, использование sys.exit () иначе просто используют пустой возврат.

2
ответ дан André 23 May 2017 в 10:31
поделиться
  • 1
    Спасибо за Ваш ответ. Я возвращаю json структуры как {ResultCount =7; ResultLimit=30; ResultList = ({AlbumId=111; ArtistId=203}, {AlbumId=112; ArtistId=203}); Status=0}. ResultList является массивом. Как я могу получить AlbumId и ArtistId в Массиве? – happy_iphone_developer 14 March 2011 в 22:53
import sys
sys.exit()
18
ответ дан gimel 23 May 2017 в 10:31
поделиться
  • 1
    @hackbod можно ли предоставить некоторую подробную информацию для нас о фрагментах, не находящихся в иерархии, и почему вложенные фрагменты могут вызвать проблемы? – Christopher Perry 18 October 2012 в 13:23

Можно или использовать:

import sys
sys.exit(...)

или:

raise SystemExit(...)

дополнительный параметр может быть кодом выхода или сообщением об ошибке. Оба метода идентичны. Я раньше предпочитал sys.exit, но я в последнее время переключился на повышение SystemExit, потому что это, кажется, выделяется лучше среди остальной части кода (из-за повышение ключевое слово).

14
ответ дан efotinis 23 May 2017 в 10:31
поделиться
  • 1
    Верный I' ll вскапывают один для Вас из моего проекта. I' ll обновляют ответ. – Chris.Jenkins 19 March 2012 в 21:01

выход () должен добиться цели

4
ответ дан Sec 23 May 2017 в 10:31
поделиться
  • 1
    @Chris. Jenkins у меня есть один фрагмент в FragmentPageviewer. Фрагмент содержит 4 values.i, хотят к тому, когда я нажал на то значение, это добавит или заменит другой fragement.is это возможное? – Parag Chauhan 26 April 2012 в 07:10

В файле Config.groovy необходимо указать следующие параметры:

grails.gsp.enable.reload=true
grails.gsp.view.dir="/path/to/gsp/views"

Путь к выданному SVN-репо обычно определяется как "grails.gsp.view.dir". Вы можете просто "svn up" каждый раз, когда хотите обновить представления.

Существует одно предостережение: при компиляции представления GSP используется permgen. В конце концов вы закончите работу и вам потребуется перезапустить сервер.

-121--4780226-

В IE7 можно вызвать firebug lite для текущей страницы, вставив в адресную строку следующее:

javascript:var firebug=document.createElement('script');firebug.setAttribute('src','http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js');document.body.appendChild(firebug);(function(){if(window.firebug.version){firebug.init();}else{setTimeout(arguments.callee);}})();void(firebug);

См. http://getfirebug.com/lite.html .

-121--659805-

Попробуйте

sys.exit("message")

Это как perl

die("message")

, если это то, что вы ищете. Он завершает выполнение сценария, даже если он вызывается из импортированного модуля/def/function

3
ответ дан 23 November 2019 в 22:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: