24.6. 空闲 — Python 文档
24.6. 闲置的
IDLE 是 Python 的集成开发和学习环境。
IDLE具有以下特点:
- 100% 纯 Python 编码,使用
tkinter
GUI 工具包 - 跨平台:在 Windows、Unix 和 Mac OS X 上的工作方式大致相同
- 带有代码输入、输出和错误消息着色的 Python shell 窗口(交互式解释器)
- 具有多个撤销、Python 着色、智能缩进、调用提示、自动完成和其他功能的多窗口文本编辑器
- 在任何窗口中搜索,在编辑器窗口中替换,并搜索多个文件 (grep)
- 具有持久断点、步进和查看全局和本地命名空间的调试器
- 配置、浏览器和其他对话框
24.6.3. 启动和代码执行
使用 -s
选项启动时,IDLE 将执行环境变量 IDLESTARTUP
或 PYTHONSTARTUP 引用的文件。 IDLE 首先检查 IDLESTARTUP
; 如果存在 IDLESTARTUP
,则运行引用的文件。 如果 IDLESTARTUP
不存在,IDLE 检查 PYTHONSTARTUP
。 这些环境变量引用的文件是存储 IDLE shell 中经常使用的函数或执行 import 语句以导入常用模块的方便位置。
此外,Tk
还会加载启动文件(如果存在)。 请注意,Tk 文件是无条件加载的。 这个附加文件是 .Idle.py
并在用户的主目录中查找。 该文件中的语句将在 Tk 命名空间中执行,因此该文件对于从 IDLE 的 Python shell 导入要使用的函数没有用处。
24.6.3.1. 命令行使用
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)
如果有争论:
- 如果使用
-
、-c
或r
,则所有参数都放在sys.argv[1:...]
中,并且sys.argv[0]
设置为 [ X113X]、'-c'
或'-r'
。 不会打开编辑器窗口,即使这是“选项”对话框中的默认设置。 - 否则,参数是打开用于编辑的文件,
sys.argv
反映传递给 IDLE 本身的参数。
24.6.3.2. 空闲控制台差异
尽可能地,使用 IDLE 执行 Python 代码的结果与在控制台窗口中执行相同代码的结果相同。 但是,不同的界面和操作偶尔会影响可见的结果。 例如,sys.modules
以更多条目开头。
IDLE 还将 sys.stdin
、sys.stdout
和 sys.stderr
替换为从 Shell 窗口获取输入和将输出发送到 Shell 窗口的对象。 当这个窗口获得焦点时,它控制键盘和屏幕。 这通常是透明的,但直接访问键盘和屏幕的功能将不起作用。 如果 sys
用 reload(sys)
重置,IDLE 的更改将丢失,input
、raw_input
和 print
等内容将无法正常工作。
使用 IDLE 的 Shell,您可以输入、编辑和调用完整的语句。 某些控制台一次只能使用一条物理线路。 IDLE 使用 exec
来运行每个语句。 因此,始终为每个语句定义 '__builtins__'
。
24.6.3.3. 在没有子进程的情况下运行
默认情况下,IDLE 通过使用内部环回接口的套接字在单独的子进程中执行用户代码。 此连接在外部不可见,并且不会向 Internet 发送或从 Internet 接收任何数据。 如果防火墙软件仍然抱怨,您可以忽略它。
如果尝试建立套接字连接失败,Idle 会通知您。 此类故障有时是暂时的,但如果持续存在,则问题可能是防火墙阻止了连接或特定系统的错误配置。 在问题解决之前,可以使用 -n 命令行开关运行 Idle。
如果 IDLE 使用 -n 命令行开关启动,它将在单个进程中运行,并且不会创建运行 RPC Python 执行服务器的子进程。 如果 Python 无法在您的平台上创建子进程或 RPC 套接字接口,这会很有用。 但是,在这种模式下,用户代码与 IDLE 本身并不隔离。 此外,选择运行/运行模块 (F5) 时不会重新启动环境。 如果您的代码已被修改,您必须 reload() 受影响的模块并重新导入任何特定项目(例如 from foo import baz) 如果更改生效。 由于这些原因,最好尽可能使用默认子进程运行 IDLE。
自 3.4 版起已弃用。
24.6.4. 帮助和偏好
24.6.4.1. 其他帮助来源
IDLE 包括一个名为“Python Docs”的帮助菜单条目,它将打开 docs.python.org 上提供的大量帮助资源,包括教程。 可以随时使用“配置空闲”对话框从帮助菜单中添加或删除选定的 URL。 有关详细信息,请参阅 IDLE 帮助菜单中的 IDLE 帮助选项。
24.6.4.2. 设置首选项
可以通过“选项”菜单上的“配置空闲”更改字体首选项、突出显示、键和一般首选项。 键可以由用户定义; IDLE 附带四个内置键组。 此外,用户可以在 Keys 选项卡下的 Configure IDLE 对话框中创建自定义键集。
24.6.4.3. 扩展
IDLE 包含一个扩展工具。 可以使用配置扩展更改扩展的首选项。 有关详细信息,请参阅 idlelib 目录中 config-extensions.def 的开头部分。 当前的默认扩展名是:
- 格式段落
- 自动展开
- 缩放高度
- 脚本绑定
- 通话提示
- 配对
- 自动完成
- 代码上下文
- Rstrip扩展