python / 3.7.2rc1 / all / library-idle.html

IDLE

源代码: Lib/idlelib/


IDLE 是 Python 的集成开发和学习环境。

IDLE 具有以下Function:

  • 使用tkinter GUI 工具包以 100%纯 Python 编码

  • 跨平台:在 Windows,Unix 和 macOS 上几乎相同

  • Python Shell 窗口(交互式解释器),带有代码 Importing,输出和错误消息的着色

  • 多窗口文本编辑器,具有多个撤消,Python 着色,智能缩进,调用提示,自动完成和其他Function

  • 在任何窗口中搜索,在编辑器窗口中替换,以及搜索多个文件(grep)

  • 具有持久断点,步进以及查看全局和本地名称空间的调试器

  • 配置,浏览器和其他对话框

IDLE 具有两种主要的窗口类型:“Shell”窗口和“编辑器”窗口。可以同时具有多个编辑器窗口。在 Windows 和 Linux 上,每个都有其自己的顶部菜单。下面记录的每个菜单均指示与之关联的窗口类型。

输出窗口(例如用于 Edit =>在文件中查找)是编辑器窗口的子类型。它们当前具有相同的顶部菜单,但具有不同的默认标题和上下文菜单。

在 macOS 上,只有一个应用程序菜单。它根据当前选择的窗口动态变化。它具有一个 IDLE 菜单,并且下面描述的某些条目已经移动到符合 Apple 准则的位置。

“文件”菜单(Shell 和编辑器)

  • New File

    • 创建一个新的文件编辑窗口。
  • Open…

    • 使用“打开”对话框打开现有文件。
  • Recent Files

    • 打开最近的文件列表。单击一个将其打开。
  • Open Module…

    • 打开一个现有的模块(搜索 sys.path)。
  • Class Browser

    • 以树结构显示当前编辑器文件中的函数,类和方法。在 Shell 中,首先打开一个模块。
  • Path Browser

    • 以树形结构显示 sys.path 目录,模块,函数,类和方法。
  • Save

    • 将当前窗口保存到关联的文件(如果有)。自从打开或上次保存以来已更改的窗口在窗口标题前后带有*。如果没有关联的文件,请另存为。
  • Save As…

    • 使用“另存为”对话框保存当前窗口。保存的文件将成为该窗口的新关联文件。
  • 另存为...

    • 将当前窗口保存到其他文件,而不更改关联的文件。
  • Print Window

    • 将当前窗口打印到默认打印机。
  • Close

    • 关闭当前窗口(如果未保存,请保存)。
  • Exit

    • 关闭所有窗口并退出 IDLE(询问是否保存未保存的窗口)。

编辑菜单(Shell 和编辑器)

  • Undo

    • 撤消对当前窗口的最后更改。最多可以撤消 1000 个更改。
  • Redo

    • 重做上次撤消的更改到当前窗口。
  • Cut

    • 将选择内容复制到系统范围的剪贴板中;然后删除选择。
  • Copy

    • 将所选内容复制到系统范围的剪贴板中。
  • Paste

    • 将系统范围剪贴板的内容插入当前窗口。

剪贴板Function在上下文菜单中也可用。

  • Select All

    • 选择当前窗口的全部内容。
  • Find…

    • 打开带有许多选项的搜索对话框
  • Find Again

    • 重复上一次搜索(如果有)。
  • Find Selection

    • 搜索当前选择的字符串(如果有)。
  • 在文件中查找…

    • 打开文件搜索对话框。将结果放入新的输出窗口。
  • Replace…

    • 打开搜索和替换对话框。
  • 前往线

    • 将光标移动到请求的行的开头,并使该行可见。文件末尾的请求将结束。清除所有选择并更新行和列状态。
  • Show Completions

    • 打开一个可滚动列表,允许选择现有名称。请参见下面的“编辑和导航”部分中的Completions
  • Expand Word

    • 展开您键入的前缀以匹配同一窗口中的完整单词;重复以获得不同的扩展。
  • 显示通话提示

    • 在函数的右括号后,打开一个带有函数参数提示的小窗口。请参见下面的“编辑和导航”部分中的Calltips
  • 显示周边

    • 突出显示周围的括号。

格式菜单(仅编辑器窗口)

  • Indent Region

    • 将选定的行右移缩进宽度(默认为 4 个空格)。
  • Dedent Region

    • 将选定的行向左移动缩进宽度(默认为 4 个空格)。
  • Comments 掉区域

    • 在所选行的前面插入##。
  • Uncomment Region

    • 从所选行中删除开头的#或##。
  • Tabify Region

    • 前导空格变成制表符。 (注意:我们建议使用 4 个空格来缩进 Python 代码.)
  • Untabify Region

    • 将* all *制表符转换为正确的空格数。
  • Toggle Tabs

    • 打开一个对话框,在缩进空格和制表符之间切换。
  • 新压痕宽度

    • 打开一个对话框以更改缩进宽度。 Python 社区接受的默认值为 4 个空格。
  • Format Paragraph

    • 在 Comments 块或多行字符串或字符串中的选定行中,重新格式化当前以空行分隔的段落。段落中的所有行的格式都将少于 N 列,其中 N 默认为 72.
  • 带尾空白

    • pass将 str.rstrip 应用于每行(包括多行字符串中的行),删除行的最后一个非空白字符之后的尾部空格和其他空白字符。除 Shell 窗口外,在文件末尾删除多余的换行符。

“运行”菜单(仅“编辑器”窗口)

  • Run Module

    • Check Module。如果没有错误,请重新启动 Shell 以清理环境,然后执行模块。输出显示在“Shell”窗口中。请注意,输出需要使用printwrite。执行完成后,命令行 Management 程序将保留焦点并显示提示。在这一点上,可以交互地探索执行的结果。这类似于在命令行使用python -i file执行文件。
  • Run… Customized

    • Run Module相同,但使用自定义设置运行模块。 命令行参数扩展sys.argv,就像在命令行上传递一样。该模块可以在命令行 Management 程序中运行,而无需重新启动。
  • Check Module

    • 检查“编辑器”窗口中当前打开的模块的语法。如果尚未保存模块,则 IDLE 会提示用户保存或自动保存,如在“空闲设置”对话框的“常规”选项卡中选择的那样。如果存在语法错误,则在“编辑器”窗口中指示大概位置。
  • Python Shell

    • 打开或唤醒 Python Shell 窗口。

Shell 菜单(仅 Shell 窗口)

  • 查看最近重启

    • 将 Shell 窗口滚动到上一次 Shell 重新启动。
  • Restart Shell

    • 重新启动 Shell 以清洁环境。
  • Previous History

    • 循环浏览历史 Logging 与当前条目匹配的早期命令。
  • Next History

    • 循环浏览历史 Logging 与当前条目匹配的以后命令。
  • Interrupt Execution

    • 停止正在运行的程序。

调试菜单(仅 Shell 窗口)

  • 转到文件/行

    • 查看当前行。使用光标,并在上方显示文件名和行号。如果找到该文件,请打开该文件(如果尚未打开)并显示该行。使用它来查看异常回溯中引用的源代码行和“在文件中查找”找到的行。在“Shell”窗口和“输出”窗口的上下文菜单中也可用。
  • Debugger (toggle)

    • 激活后,在命令行 Management 程序中 Importing 或从编辑器运行的代码将在调试器下运行。在编辑器中,可以使用上下文菜单设置断点。此Function仍不完整,有些实验。
  • Stack Viewer

    • 在树小部件中显示对最后一个异常的堆栈 traceback,可以访问本地和全局。
  • 自动打开堆栈查看器

    • 在未处理的异常上切换自动打开堆栈查看器。

选项菜单(Shell 和编辑器)

  • Configure IDLE

    • 打开配置对话框,然后更改以下各项的首选项:字体,缩进,键绑定,文本颜色主题,启动窗口和大小,其他帮助源以及 extensions。在 macOS 上,pass在应用程序菜单中选择首选项来打开配置对话框。有关更多详细信息,请参阅“帮助和首选项”下的Setting preferences

大多数配置选项适用于所有窗口或将来的所有窗口。以下选项仅适用于活动窗口。

  • 显示/隐藏代码上下文(仅编辑器窗口)

    • 打开编辑窗口顶部的窗格,该窗格显示已滚动到窗口顶部上方的代码的块上下文。请参阅下面的“编辑和导航”部分中的Code Context
  • 显示/隐藏行号(仅编辑器窗口)

    • 在编辑窗口的左侧打开一列,该列显示每行文本的数量。默认设置为关闭,可以在首选项中进行更改(请参见Setting preferences)。
  • Zoom/Restore Height

    • 在正常大小和最大高度之间切换窗口。初始大小默认为 40 行乘 80 个字符,除非在“配置 IDLE”对话框的“常规”选项卡上进行了更改。屏幕的最大高度是pass在窗口第一次放大时暂时最大化窗口来确定的。更改屏幕设置可能会使保存的高度无效。当窗口最大化时,此切换无效。

窗口菜单(Shell 和编辑器)

列出所有打开的窗口的名称;选择一个将其带到前台(必要时对其进行去符号化)。

帮助菜单(Shell 和编辑器)

  • About IDLE

    • 显示版本,版权,许可证,Integration 等。
  • IDLE Help

    • 显示此 IDLE 文档,详细介绍菜单选项,基本编辑和导航以及其他技巧。
  • Python Docs

    • 访问本地 Python 文档(如果已安装),或启动 Web 浏览器并打开显示最新 Python 文档的 docs.python.org。
  • Turtle Demo

    • 使用示例 Python 代码和 turtle 绘图运行 turtledemo 模块。

可以在“常规”选项卡下的“配置 IDLE”对话框中添加其他帮助源。有关“帮助”菜单选项的更多信息,请参见下面的Help sources小节。

Context Menus

pass右键单击窗口(在 macOS 上按住 Control 键并单击)来打开上下文菜单。上下文菜单在“编辑”菜单上也具有标准剪贴板Function。

  • Cut

    • 将选择内容复制到系统范围的剪贴板中;然后删除选择。
  • Copy

    • 将所选内容复制到系统范围的剪贴板中。
  • Paste

    • 将系统范围剪贴板的内容插入当前窗口。

编辑器窗口还具有断点Function。设置了断点的行会特别标记。断点仅在调试器下运行时才有效。文件的断点保存在用户的.idlerc目录中。

  • Set Breakpoint

    • 在当前行上设置一个断点。
  • Clear Breakpoint

    • 清除该行上的断点。

Shell 和输出窗口还具有以下内容。

  • 转到文件/行

    • 与“调试”菜单中的相同。

Shell 窗口还具有输出压缩Function,这在下面的* Python Shell 窗口*小节中进行了说明。

  • Squeeze

    • 如果光标在输出行上方,则将上方代码与下方提示之间的所有输出向下压缩至“压缩文本”标签。

编辑和导航

Editor windows

IDLE 启动时可能会打开编辑器窗口,具体取决于设置和启动 IDLE 的方式。之后,使用文件菜单。给定文件只能有一个打开的编辑器窗口。

标题栏包含文件名,完整路径以及运行该窗口的 Python 和 IDLE 的版本。状态栏包含行号('Ln')和列号('Col')。行号以 1 开头;列号为 0.

IDLE 假定 extensions 为.py *的文件包含 Python 代码,而其他文件则不包含。使用“运行”菜单运行 Python 代码。

Key bindings

在本节中,“ C”是指 Windows 和 Unix 上的 Control 键以及 macOS 上的 Command 键。

  • 退格键删除到左侧; Del 删除到右边

  • C-Backspace 删除单词左; C-Del 删除右侧的单词

  • 方向键和向上翻页/向下翻页

  • C-LeftArrow 和 C-RightArrow pass Literals 移动

  • Home/End 转到行的开始/结束

  • C-Home/C-End 转到文件的开始/结尾

  • 一些有用的 Emacs 绑定是从 Tcl/Tk 继承的:

Note

  • C-行首

  • C-e 行尾

  • C-k 杀死线(但不放在剪贴板中)

  • 插入点周围的 C-l 中心窗口

  • C-b 后退一个字符而不删除(通常您也可以使用光标键)

  • C-f 向前移动一个字符而不删除(通常您也可以使用光标键)

  • C-p 上移一行(通常您也可以使用光标键)

  • C-d 删除下一个字符

标准的键盘绑定(例如 C-c 复制和 C-v 粘贴)可能有效。在“配置 IDLE”对话框中选择键绑定。

Automatic indentation

在开封语句之后,下一行缩进 4 个空格(在 Python Shell 窗口中缩进一个标签)。在某些关键字(break,return 等)之后,将下一行缩排。在前导缩进中,Backspace 最多删除 4 个空格(如果有)。制表符插入空格(在 Python Shell 窗口中为一个制表符),数字取决于缩进宽度。当前,由于 Tcl/Tk 的限制,制表符被限制为四个空格。

另请参见Format menu上的缩进/缩进区域命令。

Completions

当请求并可用时,将提供模块名称,类或函数的属性或文件名的补全。每个请求方法都会显示一个带有现有名称的完成框。 (有关 exceptions,请参见下面的标签完成.)对于任何方框,请pass键入和删除字符来更改正在完成的名称和在方框中突出显示的项目;否则,请单击确定。pass按上,下,PageUp,PageDown,Home 和 End 键;并在框中单击。使用 Escape 键,Enter 键并双击 Tab 键或在框外单击来关闭框。双击框中的内容进行选择并关闭。

打开盒子的一种方法是键入一个关键字符并 awaitsched 义的时间间隔。默认为 2 秒。在设置对话框中对其进行自定义。 (为防止自动弹出窗口,请将延迟设置为大量毫秒,例如 100000000.)对于导入的模块名称或类或函数属性,请键入“。”。对于根目录中的文件名,请在引号后立即 Importingos.sep或 data:os.altsep。 (在 Windows 上,可以首先指定驱动器.)pass Importing 目录名称和分隔符进入子目录。

无需 await,也不必在关闭框后立即打开“完成”框,并在“编辑”菜单上显示“显示完成”。默认热键为 C-space。如果在打开框之前 Importing 所需名称的前缀,则将显示第一个匹配项或接近未命中的项。结果与显示该框后 Importing 一个前缀相同。用引号引起当前目录(而不是根目录)中的文件名完成后显示完成。

在前缀后面点击 Tab 通常具有与“显示完成次数”相同的效果。 (不带前缀,它会缩进.)但是,如果前缀只有一个匹配项,则该匹配项会立即添加到编辑器文本中,而无需打开一个框。

调用“显示完成”,或在字符串后且没有前缀“。”的情况下,在前缀后点击 Tab。打开一个带有关键字,内置名称和可用模块级别名称的框。

在编辑器中编辑代码时(与 Shell 相对),请pass运行代码而不是随后重新启动 Shell 来增加可用的模块级名称。在文件顶部添加导入后,此Function特别有用。这也增加了可能的属性完成。

完成框最初排除以“ _”开头的名称,或者对于模块,不包括在“ all”中的名称。可以在打开框之前或之后在“。”之后键入“ _”来访问隐藏的名称。

Calltips

键入一种类型时(在* accessible *函数的名称之后.名称表达式可能包含点和下标.将一直保留该 Calltip,直到单击它,将光标移出参数区域或),才会显示该 Calltip。当光标位于定义的自变量部分时,菜单或快捷方式将显示一个调用提示。

调用提示由函数签名和文档字符串的第一行组成。对于没有可访问签名的内置插件,calltip 包含第五行或第一行空白的所有行。这些细节可能会改变。

“可访问”Function的集合取决于自上次重启以来已将哪些模块导入到用户进程中,包括由 Idle 本身导入的模块以及已运行的定义。

例如,重新启动命令行 Management 程序,然后 Importingitertools.count(。出现提示,是因为 Idle 将 itertools 导入用户进程供自己使用。 (这可能会更改.)Importingturtle.write(,则什么也不会出现。空闲不导入turtle。菜单或快捷方式也不起作用。Importingimport turtle,然后turtle.write(将起作用。

在编辑器中,导入语句在运行该文件之前不起作用。在顶部编写了 import 语句后,可能要运行文件,或者在编辑之前立即运行现有文件。

Code Context

在包含 Python 代码的编辑器窗口中,可以切换代码上下文,以显示或隐藏窗口顶部的窗格。当显示时,此窗格将冻结块代码的开头行,例如以classdefif关键字开头的行,否则将滚动到视线之外。窗格的大小将根据需要进行扩展和缩小,以显示所有当前级别的上下文,直到“配置 IDLE”对话框中定义的最大行数(默认为 15)。如果没有当前上下文行并且Function已打开,则将显示单个空白行。单击上下文窗格中的一行将把该行移到编辑器的顶部。

可以在“配置 IDLE”对话框的“突出显示”选项卡下配置上下文窗格的文本和背景色。

Python Shell 窗口

使用 IDLE 的 Shell,您可以 Importing,编辑和调用完整的语句。大多数控制台和终端一次只能使用一条物理行路。

当一个人将代码粘贴到 Shell 中时,直到一个人按下 Return 键,它才被编译并可能执行。可以先编辑粘贴的代码。如果将一个以上的语句粘贴到 Shell 中,则将多个语句编译为一个语句时,结果将为SyntaxError

交互式 Importing 代码时,前几小节中描述的编辑Function起作用。 IDLE 的“Shell”窗口还响应以下键。

  • C-c break执行命令

  • C-d 发送文件结束;如果在>>>提示符下键入,则关闭窗口

  • Alt-/(扩展词)也有助于减少 typing

Command history

  • Alt-p 检索与您键入的内容匹配的先前命令。在 macOS 上,使用 C-p。

    • Alt-n 检索下一个。在 macOS 上使用 C-n。

    • 在上一条命令检索到该命令时返回

Text colors

闲置默认在白色文本上为黑色,但为文本添加特殊含义。对于 Shell,这些是 Shell 输出,Shell 错误,用户输出和用户错误。对于 Python 代码,在 shell 提示符下或在编辑器中,这些是关键字,内置类和函数名称,classdef之后的名称,字符串和 Comments。对于任何文本窗口,它们都是光标(如果存在),找到的文本(如果可能)和选定的文本。

文本着色是在背景中完成的,因此偶尔会看到未着色的文本。要更改配色方案,请使用“配置 IDLE”对话框的“突出显示”选项卡。用户无法配置编辑器中调试器断点行以及弹出窗口和对话框中文本的标记。

启动和代码执行

使用-s选项启动时,IDLE 将执行环境变量 IDLESTARTUP PYTHONSTARTUP引用的文件。 IDLE 首先检查IDLESTARTUP;如果存在IDLESTARTUP,则运行引用的文件。如果IDLESTARTUP不存在,则 IDLE 检查PYTHONSTARTUP。这些环境变量引用的文件是存储 IDLE shell 经常使用的函数或执行导入语句以导入公共模块的便利位置。

此外,Tk还会加载启动文件(如果存在)。请注意,Tk 文件是无条件加载的。此附加文件是.Idle.py,并在用户的主目录中查找。该文件中的语句将在 Tk 命名空间中执行,因此该文件对于从 IDLE 的 Python shell 导入要使用的函数没有用。

命令行用法

idle.py [-c command] [-d] [-e] [-h] [-i] [-r file] [-s] [-t title] [-] [arg] ...

-c command  run command in the shell window
-d          enable debugger and open shell window
-e          open editor window
-h          print help message with legal combinations and exit
-i          open shell window
-r file     run file in shell window
-s          run $IDLESTARTUP or $PYTHONSTARTUP first, in shell window
-t title    set title of shell window
-           run stdin in shell (- must be last option before args)

如果有参数:

  • 如果使用--cr,则所有参数都放在sys.argv[1:...]中,并且sys.argv[0]设置为'''-c''-r'。即使是“选项”对话框中的默认设置,也不会打开任何编辑器窗口。

  • 否则,参数是打开供编辑的文件,并且sys.argv反映了传递给 IDLE 本身的参数。

Startup failure

IDLE 使用套接字在 IDLE GUI 进程和用户代码执行进程之间进行通信。每当 Shell 启动或重新启动时,都必须构建连接。 (后者由标有'RESTART'的分隔线指示)。如果用户进程无法连接到 GUI 进程,它将显示Tk错误框,并带有“无法连接”消息,将用户定向到此处。然后退出。

失败的常见原因是用户编写的文件,其名称与标准库模块相同,例如* random.py tkinter.py *。当此类文件与将要运行的文件位于同一目录中时,IDLE 无法导入 stdlib 文件。当前的解决方法是重命名用户文件。

尽管不像过去那样普遍,但防病毒或防火墙程序可能会停止连接。如果无法教该程序允许连接,则必须将其关闭以使 IDLE 正常工作。允许此内部连接是安全的,因为在外部端口上看不到任何数据。一个类似的问题是网络错误配置会阻止连接。

Python 安装问题有时会停止 IDLE:多个版本可能会发生冲突,或者单个安装可能需要 Management 员权限。如果您撤消了冲突,或者无法或不想以 admin 身份运行,则最简单的方法是完全删除 Python 并重新开始。

僵尸 pythonw.exe 进程可能是个问题。在 Windows 上,使用“任务 Management 器”检查一个,如果存在则停止它。有时,由程序崩溃或键盘break(control-C)启动的重启可能无法连接。消除错误框或使用“Shell 程序”菜单上的“重新启动 Shell 程序”可能会解决临时问题。

首次启动 IDLE 时,它将try读取~/.idlerc/(~是用户的主目录)中的用户配置文件。如果有问题,应显示一条错误消息。撇开随机磁盘故障,可以pass永远不要手动编辑文件来防止这种情况。而是使用“选项”下的配置对话框。用户配置文件中出现错误后,最好的解决方法是删除该错误并从设置对话框重新开始。

如果 IDLE 退出但没有消息,并且不是从控制台启动的,请try从控制台或终端(python -m idlelib)启动它,然后查看是否会导致错误消息。

正在运行用户代码

除极少数 exception,使用 IDLE 执行 Python 代码的结果与pass默认方法直接在文本模式系统控制台或终端窗口中直接使用 Python 执行相同的代码的意图相同。但是,不同的界面和操作有时会影响可见结果。例如,sys.modules以更多的条目开头,而threading.activeCount()返回 2 而不是 1.

默认情况下,IDLE 在单独的 OS 进程中而不是在运行 Shell 和编辑器的用户界面进程中运行用户代码。在执行过程中,它将sys.stdinsys.stdoutsys.stderr替换为从 Shell 窗口获取 Importing 并将输出发送到 Shell 窗口的对象。存储在sys.__stdin__sys.__stdout__sys.__stderr__中的原始值不会被触摸,但可能是None

当 Shell 获得焦点时,它将控制键盘和屏幕。这通常是透明的,但是直接访问键盘和屏幕的Function将不起作用。这些Function包括特定于系统的Function,这些Function可确定是否已按下某个键,如果已按下,则确定该键。

执行过程中创建的子流程不会继承 IDLE 的标准流,无论是直接由用户代码还是由诸如 multiprocessing 之类的模块继承。如果此类子进程使用 sys_stdin 的input或 sys_stdout 或 sys.stderr 的printwrite,则应在命令行窗口中启动 IDLE。然后,次级子流程将附加到该窗口以进行 Importing 和输出。

在执行过程中运行的 IDLE 代码会将帧添加到调用堆栈中,否则这些帧将不存在。 IDLE 包装sys.getrecursionlimitsys.setrecursionlimit以减少其他堆栈帧的影响。

如果pass用户代码(例如importlib.reload(sys))重置了sys,则 IDLE 的更改将丢失,并且键盘 Importing 和屏幕输出将无法正常工作。

当用户代码直接或pass调用 sys.exit 引发 SystemExit 时,IDLE 将返回到 Shell 提示符而不是退出。

Shell 中的用户输出

当程序输出文本时,结果由相应的输出设备确定。当 IDLE 执行用户代码时,sys.stdoutsys.stderr连接到 IDLE Shell 的显示区域。它的某些Function是从基础 Tk Text 小部件继承的。其他是已编程的添加项。在重要的地方,壳牌专为开发而不是生产运行而设计。

例如,壳牌从不丢弃输出。一个向 Shell 发送无限输出的程序finally将填满内存,从而导致内存错误。相反,某些系统文本窗口仅保留输出的最后 n 行。例如,Windows 控制台保留用户可设置的 1 到 9999 行,其中默认值为 300.

Tk Text 窗口小部件以及 IDLE 的 Shell 在 Unicode 的 BMP(基本多语言平面)子集中显示字符(代码点)。哪些字符以正确的字形显示,哪些字符以替换框显示取决于 os 和已安装的字体。制表符导致下一个制表符停止后开始以下文本。 (它们每 8 个“字符”出现一次)。换行符会导致以下文本出现在新行上。取决于 os 和字体,其他控制字符将被忽略或显示为空格,框或其他内容。 (使用箭头键在此类输出上移动文本光标可能会表现出令人惊讶的间距行为.)

>>> s = 'a\tb\a<\x02><\r>\bc\nd'  # Enter 22 chars.
>>> len(s)
14
>>> s  # Display repr(s)
'a\tb\x07<\x02><\r>\x08c\nd'
>>> print(s, end='')  # Display s as is.
# Result varies by OS and font.  Try it.

repr函数用于表达式值的交互式回显。它返回 Importing 字符串的更改版本,在其中,控制代码,一些 BMP 代码点和所有非 BMP 代码点都用转义码替换。如上所述,它允许人们识别字符串中的字符,而不管它们如何显示。

通常将正常输出和错误输出与代码 Importing 彼此分开(在单独的行上)。它们各自获得不同的突出显示颜色。

对于 SyntaxErrortraceback,检测到错误的常规“ ^”标记将替换为带有高亮显示的文本颜色。当从文件运行的代码引起其他异常时,可以右键单击回溯行以跳到 IDLE 编辑器中的相应行。如有必要,该文件将被打开。

Shell 具有特殊的Function,可将输出行压缩到“压缩文本”标签。这是自动完成的,用于pass N 行输出(默认情况下,N = 50)。可以在“设置”对话框的“常规”页面的“ PyShell”部分中更改 N。可以pass右键单击输出来压缩行数更少的输出。这可能是有用的行,其长度足以减慢滚动速度。

双击标签将压缩的输出扩展到适当的位置。也可以pass右键单击标签将其发送到剪贴板或单独的视图窗口。

开发 tkinter 应用程序

IDLE 有意不同于标准 Python,以促进 tkinter 程序的开发。在标准 Python 中 Importingimport tkinter as tk; root = tk.Tk(),则不会显示任何内容。在 IDLE 中 Importing 相同的内容,然后会出现一个 tk 窗口。在标准 Python 中,还必须 Importingroot.update()才能看到该窗口。 IDLE 在后台执行等效操作,大约每秒 20 次,大约每 50 毫秒一次。接下来 Importingb = tk.Button(root, text='button'); b.pack()。同样,在标准 Python 中,除非 Importingroot.update(),否则没有任何明显的变化。

大多数 tkinter 程序运行root.mainloop(),通常在 tk 应用程序被销毁之前不会返回。如果程序是使用python -i或从 IDLE 编辑器运行的,则在mainloop()返回之前,不会出现>>> shell 提示,此时没有任何可交互的内容。

从 IDLE 编辑器运行 tkinter 程序时,可以 Comments 掉 mainloop 调用。然后,将立即获得一个 shell 提示,并且可以与实时应用程序进行交互。只需记住要在标准 Python 中运行时重新启用 mainloop 调用即可。

无子运行

默认情况下,IDLE pass使用内部回送接口的套接字在单独的子进程中执行用户代码。该连接在外部不可见,并且没有数据发送到 Internet 或从 Internet 接收。如果防火墙软件仍然抱怨,则可以忽略它。

如果try构建套接字连接失败,则 Idle 将通知您。此类故障有时是短暂的,但如果持续存在,则问题可能是防火墙阻止了连接或特定系统的配置错误。在问题解决之前,您可以使用-n 命令行开关运行 Idle。

如果 IDLE 是使用-n 命令行开关启动的,则它将在单个进程中运行,并且不会创建运行 RPC Python 执行服务器的子进程。如果 Python 无法在您的平台上创建子进程或 RPC 套接字接口,这将很有用。但是,在这种模式下,用户代码不会与 IDLE 本身隔离。另外,选择“运行/运行模块”(F5)时,环境不会重新启动。如果您的代码已被修改,则要使更改生效,您必须 reload()受影响的模块并重新导入任何特定项(例如从 foo import baz)。由于这些原因,最好尽可能使用默认的子进程运行 IDLE。

自 3.4 版起不推荐使用。

帮助和首选项

Help sources

帮助菜单条目“ IDLE 帮助”显示“库参考”的 IDLE 章节的 HTML 格式版本。在只读的 tkinter 文本窗口中,结果接近于在 Web 浏览器中看到的结果。使用鼠标滚轮,滚动条或按下的向上和向下箭头键浏览文本。或单击目录(目录)按钮,然后在打开的框中选择节标题。

帮助菜单项“ Python Docs”打开了广泛的帮助源,包括教程,可从docs.python.org/x.y获得,其中'x.y'是当前正在运行的 Python 版本。如果您的系统具有文档的脱机副本(这可能是安装选项),则将打开该副本。

使用“配置 IDLE”对话框的“常规”选项卡,可以随时在帮助菜单中添加或删除选定的 URL。

Setting preferences

字体首选项,突出显示,键和常规首选项可以pass“选项”菜单上的“配置 IDLE”进行更改。非默认用户设置保存在用户主目录的.idlerc目录中。pass编辑或删除.idlerc中的一个或多个文件,可以解决由错误的用户配置文件引起的问题。

在“字体”选项卡上,请参阅文本示例,以了解字体外观和大小对多种语言的多个字符的影响。编辑示例以添加其他个人感兴趣的字符。使用示例选择等宽字体。如果某些字符在 Shell 或编辑器中有问题,请将其添加到示例的顶部,然后try先更改大小然后再更改字体。

在“突出显示和键”选项卡上,选择一个内置或自定义颜色主题和键集。要将较新的内置颜色主题或键集与较旧的 IDLE 一起使用,请将其另存为新的自定义主题或键集,并且较旧的 IDLE 可以轻松访问。

在 MacOS 上为 IDLE

在“系统偏好设置:基座”下,可以将“打开文档时首选选项卡”设置为“始终”。此设置与 IDLE 使用的 tk/tkinter GUI 框架不兼容,并且破坏了一些 IDLE Function。

Extensions

IDLE 包含扩展Function。extensions 的首选项可以使用“首选项”对话框的“扩展”选项卡进行更改。有关更多信息,请参见 idlelib 目录中 config-extensions.def 的开头。当前唯一的默认 extensions 是 zzdummy,该示例也用于测试。