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