에 라인을 명령하기 인터랙티브 인터프리터로 돌아 가기. 어떻게해야합니까? sys.exit()
을 사용하면 파이썬 인터프리터가 완전히 종료됩니다.종료 내가 초기에 어떤 조건에서 종료하려는 스크립트가 파이썬
답변
방법에 코드 블록을 넣고 같은처럼, 그 메소드로부터 반환 :
def do_the_thing():
if not "id" in dir():
print "id not set, cannot continue"
return
# exit here!
# otherwise continue with the rest of the script...
print "alright..."
# [ more code ]
# Call the method
do_the_thing()
또한, execfile()를 사용하는 좋은 이유가없는 한,이 방법은 아마 모듈에 넣어해야합니다 여기서 다른 파이썬 스크립트를 가져 와서 호출 할 수 있습니다 :
인터랙티브 인터프리터에서; 그것을 sys.exit
에 의해 제기 SystemExit
을 잡아 무시 :
try:
execfile("mymodule.py")
except SystemExit:
pass
, 당신이 가져올 수있는 스크립트를 확인해야합니다 (이름 기능 등으로 구분 == '주요 보호) 다음과 호출 통역사의 기능.
저는 인터 액티브 작업을 위해 ipython에 조금 사로 잡혀 있지만 this one (가장 직접적인 경로)보다 더 강력한 솔루션 인 shell embedding에 대한 자습서를 확인하십시오.
나는이 파티에 2 년이나 늦었다는 것을 알고있다. 그러나 업데이트 된 링크가 있는가? – Glycerine
쉘 임베딩은 ipython 프로젝트에서 유지됩니다. 최신 버전은 http://ipython.org/ipython-doc/rel-0.13.1/interactive/reference.html#embedding-ipython입니다. – colgur
남자 !!!! 나는 sooooooo를 위해 이것을 오랫동안 찾고 있었다! 고마워요! IPython import embed에서 ipython을 import 한 다음, 실행을 멈추고 대화식으로 작업 할 곳에서 embed()을 사용하십시오. 'embed() # 프로그램의 어느 곳에서나이 호출이 IPython을 시작할 것입니다. ' –
이 조건이 충족되는 경우에만 if 조건을 반전시키고 나머지 스크립트를 실행할 수도 있습니다. 방금 스크립트 실행을 멈추는 더 간단한 방법이있을 거라고 생각했습니다. 그러나 분명히 거기에 있지 않습니다 :) – fuenfundachtzig
사실, 당신의 전제 조건이 메소드의 시작 부분에서 충족되는지 확인하는 것은 * 좋은 생각입니다. 따라서 모든 조건이 올 바르면 먼저 확인하고 계속하는 것이 좋은 접근 방법입니다. – Frederik