함수가있는 파이썬 모듈이 있습니다.
def do_stuff(param1 = 'a'):
if type(param1) == int:
# enter python interpreter here
do_something()
else:
do_something_else()
주석이있는 명령 줄 인터프리터로 이동하는 방법이 있습니까? 그래서 파이썬에서 다음을 실행하면 :
>>> import my_module
>>> do_stuff(1)
내가 의견이있는 곳의 범위와 맥락에서 다음 메시지를 do_stuff()
받습니까?
답변
삽입
import pdb; pdb.set_trace()
그 시점에서 파이썬 디버거에 들어갑니다.
여기를 참조하십시오 :
http://docs.python.org/library/pdb.html
답변
디버거 대신 표준 대화 형 프롬프트를 원하면 다음과 같이 할 수 있습니다.
import code
code.interact(local=locals())
참조 : 코드 모듈 .
IPython이 설치되어 있고 대신 IPython 셸이 필요한 경우 IPython> = 0.11에 대해 다음을 수행 할 수 있습니다.
import IPython; IPython.embed()
또는 이전 버전의 경우 :
from IPython.Shell import IPShellEmbed
ipshell = IPShellEmbed()
ipshell(local_ns=locals())
답변
기본 Python 인터프리터를 원하는 경우 다음을 수행 할 수 있습니다.
import code
code.interact(local=dict(globals(), **locals()))
이렇게하면 로컬 및 글로벌 모두에 액세스 할 수 있습니다.
IPython 인터프리터를 사용하려는 경우 IPShellEmbed
솔루션은 구식 입니다. 현재 작동하는 것은 다음과 같습니다.
from IPython import embed
embed()