2009-02-26 5 views
8

-i 옵션을 사용하여 cpython 인터프리터를 호출하면 실행하도록 지정된 명령이나 스크립트를 완료 할 때 대화식 모드가됩니다. -i가 주어지지 않았을지라도 통역사가 이것을하도록하는 프로그램 내에서 방법이 있습니까? 명백한 사용 사례는 예외적 인 조건이 발생했을 때 대화 형으로 상태를 검사하여 디버깅하는 것입니다.CPython 인터프리터가 프로그래밍 방식으로 인터랙티브 모드로 들어가도록 할 수 있습니까?

답변

5

환경 변수 PYTHONINSPECT를 설정하십시오. 이것은 또한 스크립트 자체에서 수행 할 수 있습니다

import os 
os.environ["PYTHONINSPECT"] = "1" 

예기치 않은 예외를 디버깅 들어,이 좋은 조리법 http://code.activestate.com/recipes/65287/

14

당신은 code module을 원합니다.

#!/usr/bin/env python 

import code  
code.interact("Enter Here") 
3

sys.excepthook을 사용하여 다른 대답 metioned recipe을 사용할 수 있습니다, 당신이 원하는처럼 들린다. 그렇지 않으면, 당신은 프로그램 종료에 code.interact를 실행할 수 있습니다 : 내가 알고있는이 작업을 수행하는

import code 
import sys 
sys.exitfunc = code.interact 
1

가장 좋은 방법은의이다 :

현재 범위의 변수에 대한 액세스를 허용하고 당신에게 전체를 제공
from IPython import embed 
embed() 

IPython의 힘.

관련 문제