2017-01-03 7 views
1

나는 helping a fellow Stack Overflow-er today이었고 어떤 터미널이 Windows에서 어떤 터미널을 사용하는지 알지 못했습니다. 나는 파이썬이 Windows 용 터미널을 직접 작성하지 않았다고 가정하고, 아마 cmd 또는 powershell의 몇 가지 버전을 제공하는 API를 사용한다고 가정합니다. 나는 통역사가 cmd에 달하는 것을 확인했다. 그러나 나는 IDLE에 관해 모른다.어떤 터미널이 파이썬 IDLE이 Windows에서 사용합니까

IDLE은 Windows에서 어떤 터미널을 사용합니까?

+0

어? "쉘"대신 "터미널"을 의미합니까? 그렇다면, 소스를 쉽게 찾을 수 있습니다 - 파이썬에서 Tkinter를 사용하여 작성되었으며 *는 실제로 IDLE을 위해 쓰여졌습니다. –

+0

솔직히 말하자면, 터미널 에뮬레이터를 쓰는 것을 어렵게 만드는 대부분의 것들이 ... 음 ... * 터미널 프로토콜을 에뮬레이션해야합니다. 자신이 작성한 소프트웨어를 포장하고 시리얼 라인 (그리고 그 터미널의 맨 위에 더 많은 기능을 허용하는 수십 년의 해킹)을 통해 실행되도록 작성된 프로토콜을 사용하여 고대 하드웨어 터미널과 호환 될 필요가없는 경우, 그런 위압적 인 일. 이미 존재하는 리치 텍스트 위젯에 대해 어떻게 행동하는지 간단하고 쉽게 말할 수 있습니다. –

+0

... "터미널"이 아닌 "쉘"을 실제로 사용한다면, 그 질문은 의미가 없습니다. 플랫폼간에 REPL을 포팅 할 때 중대한 변경이 필요하다고 생각하는 이유는 무엇입니까? –

답변

3

IDLE은 외부 쉘이나 터미널에는 내장되어 있지 않지만 GUI 도구 키트 Tkinter에 있습니다.

편집기 창에 대한 소스 코드는 here; 대화 형 셸의 경우 here을 참조하십시오.

+0

인터프리터가'cmd'에서 실행된다는 것을 확인했기 때문에 질문을 줄였습니다. 대화를 통해 내 질문을 정리해 주셔서 감사합니다. –

+1

@GregSchmit, cmd.exe는 콘솔도 터미널도 아니며 python.exe가 실행되지 않습니다. 모든 Windows 응용 프로그램을 콘솔 (conhost.exe)에 연결할 수 있지만 cmd.exe, powershell.exe 및 python.exe와 같은 콘솔 응용 프로그램은 실행할 때 자동으로 콘솔에 연결하도록 플래그가 지정됩니다.이 콘솔은 부모 프로세스에서 상속되거나 또는 새로 할당 된. – eryksun

+0

@eryksun 그럼이게 내가 생각하는 의미 론적 문제 야. 커맨드 라인에서 실행되도록 컴파일 된'.exe' 파일이 블랙 박스라고 부르는 이유는 무엇입니까? 나는 그것을'cmd' 또는 '명령 프롬프트'라고 부른다. 다른 용어가 있습니까? 그게 conhost.exe의 의미인가요? –