반응형
Python 프로그램 내에 대화 형 Python 셸 포함 (생성)
Python 프로그램 내에서 대화 형 Python 셸을 시작할 수 있습니까?
나는 (실행되는 같은 대화 형 파이썬 쉘 사용하려는 내부의 일부 프로그램 내부 변수를 검사하는 내 프로그램의 실행).
코드 모듈은 대화 형 콘솔을 제공합니다 :
import readline # optional, will allow Up/Down/History in the console
import code
variables = globals().copy()
variables.update(locals())
shell = code.InteractiveConsole(variables)
shell.interact()
ipython 0.13+에서는 다음을 수행해야합니다.
from IPython import embed
embed()
나는이 코드를 오랫동안 가지고 있었는데, 당신이 그것을 사용할 수 있기를 바랍니다.
변수를 검사 / 사용하려면 변수를 현재 네임 스페이스에 넣으면됩니다. 예를 들어, 나는 액세스 할 수 var1
및 var2
명령 줄에서.
var1 = 5
var2 = "Mike"
# Credit to effbot.org/librarybook/code.htm for loading variables into current namespace
def keyboard(banner=None):
import code, sys
# use exception trick to pick up the current frame
try:
raise None
except:
frame = sys.exc_info()[2].tb_frame.f_back
# evaluate commands in current namespace
namespace = frame.f_globals.copy()
namespace.update(frame.f_locals)
code.interact(banner=banner, local=namespace)
if __name__ == '__main__':
keyboard()
그러나 당신이 엄격하게 응용 프로그램을 디버깅하기를 원한다면, 나는 것 매우 IDE에서 또는 사용하는 것이 좋습니다 PDB (파이썬 디버거) .
IPython을 사용하면 다음을 호출하면됩니다.
from IPython.Shell import IPShellEmbed; IPShellEmbed()()
또 다른 트릭 (이미 제안 된 것 외에)은 대화 형 셸을 열고 (아마도 수정 된) 파이썬 스크립트를 가져 오는 것입니다. 가져올 때 대부분의 변수, 함수, 클래스 등 (전체 준비 방법에 따라 다름)을 사용할 수 있으며 명령 줄에서 대화 형으로 개체를 만들 수도 있습니다. 따라서 test.py
파일 이있는 경우 Idle 또는 다른 셸을 열고 입력 할 수 있습니다 import test
(현재 작업 디렉터리에있는 경우).
반응형
'development' 카테고리의 다른 글
Django / Python에서 PDF 양식을 어떻게 자동으로 채울 수 있습니까? (0) | 2020.12.30 |
---|---|
Linux에서 현재 사용되는 MySQL 구성 파일의 위치를 찾는 방법 (0) | 2020.12.30 |
Java : HashMap을 통한 반복, 어느 것이 더 효율적입니까? (0) | 2020.12.30 |
HTML : Android 브라우저가 키보드에 "Next"대신 "Go"를 표시하는 이유는 무엇입니까? (0) | 2020.12.30 |
항상 내 viewmodel을 수행하는 데 사용하여 Knockout 매핑 플러그인을 과도하게 사용하고 있습니까? (0) | 2020.12.30 |