Python空闲在Windows上使用什么终端

Python空闲在Windows上使用什么终端,python,windows,shell,terminal,python-idle,Python,Windows,Shell,Terminal,Python Idle,我是,我注意到我不知道终端IDLE在Windows中使用什么。我默认Python没有为Windows编写自己的终端,他们可能使用的API为他们提供了某种版本的cmd或powershell。我验证了解释器是否在cmd上运行,但我不知道IDLE 在Windows中,IDLE使用什么终端?IDLE不是构建在外壳或终端上,而是构建在GUI工具包上 可以读取编辑器窗口的源代码;有关交互式shell,请参见。?你是说“终端”而不是“外壳”吗?如果是这样的话,您可以很容易地找到源代码——它是使用Tkinter

我是,我注意到我不知道终端
IDLE
在Windows中使用什么。我默认Python没有为Windows编写自己的终端,他们可能使用的API为他们提供了某种版本的
cmd
powershell
。我验证了解释器是否在
cmd
上运行,但我不知道
IDLE


在Windows中,
IDLE
使用什么终端?

IDLE不是构建在外壳或终端上,而是构建在GUI工具包上


可以读取编辑器窗口的源代码;有关交互式shell,请参见。

?你是说“终端”而不是“外壳”吗?如果是这样的话,您可以很容易地找到源代码——它是使用Tkinter用Python编写的,实际上是为空闲而编写的。。。好。。。模拟终端协议。如果你正在包装你自己编写的软件,并且你不需要与古老的硬件终端兼容,这些终端的协议是通过串行线路编写的(几十年的黑客攻击意味着允许在这些终端上增加更多功能),那么这并不是一项艰巨的任务。告诉一个已经存在的富文本小部件如何操作是非常简单的……相比之下,如果你真的是指“shell”而不是“终端”,那么这个问题就没有任何意义了。在跨平台移植REPL时,为什么您认为需要做出任何重大更改?@CharlesDuffy我澄清了我的问题,以及为什么我认为“shell”是我要找的词。我可能是错的,如果我把这两个词混为一谈,请纠正我。我认为终端只是一个中间件,它将我的键盘/视频连接到处理一切的真正软件(外壳)。所以在本例中,我想知道所使用的shell,因为这将决定为什么字符显示不同。虽然航站楼在那里也会起到很大的作用…所以。。。您将shell行为与终端行为的差异混为一谈。严格遵守POSIX的shell不尊重
echo-e
告诉它们除了在输出时发出文本字符串
-e
之外的任何事情(默认情况下bash对此不好,但是当
xpg\u echo
POSIX
标志都设置好时,bash可以兼容)。如果要强制POSIX(非csh)shell解释转义序列,请使用
printf“%b”
。我验证了解释器是否在
cmd
上运行,因此我将问题缩减。感谢您通过对话澄清我的问题。@GregSchmit,cmd.exe既不是控制台也不是终端,python.exe不在其上运行。任何Windows应用程序都可以附加到控制台(conhost.exe),但诸如cmd.exe、powershell.exe和python.exe等控制台应用程序在运行时会被标记为自动附加到控制台,这可能是从父进程继承的,也可能是新分配的。@eryksun因此我认为这是一个语义问题。编译为在命令行中运行的
.exe
文件在中显示的黑框称为什么?我称之为
cmd
或“命令提示符”。还有别的术语吗?这就是你所说的
conhost.exe
?@GregSchmit,…想想在Unix上,你可能有一个内置bash的xterm(但是你也可以有一个xterm直接运行其他东西,比如Python解释器,两者之间没有shell);在Windows上,您可以在
conhost
中使用
cmd
(或不使用)。@GregSchmit,cmd.exe不会呈现其界面。它写入其Windows标准句柄、
StandardOutput
StandardError
,并从
StandardInput
读取。它可以使用标准I/O管道从控制台分离运行。