返回介绍

使用 IDLE

发布于 2024-01-29 22:24:17 字数 1923 浏览 0 评论 0 收藏 0

IDLE是免费、简单易用、可移植并自动支持绝大多数平台的。本书通常向Python新手们推荐它,因为它对一些具体的细节包装起来并且不需要之前的系统命令行的经验。但是与一些更高级的商业IDE相比,它同样有一些局限。这里是一个IDLE新手应该在心中牢记的要点列表:

·当保存文件时,必须明确地添加".py"。在讲到一般文件的时候提到过这一点,但是一般来讲,这是一个IDLE的障碍,特别是对于Windows用户来说。IDLE不会在文件保存时自动添加.py扩展名。当第一次保存文件时,需要亲自小心地输入.py扩展名。如果不这样的话,你仍可以从IDLE(以及系统命令行)运行文件,但是你将不再能以交互模式或从其他模块导入文件。

·通过选择在文本编辑窗口Run→Run Module运行脚本,而不是通过交互模式的导入和重载。本章前边,我们看到了通过交互模式导入运行一个文件是可能的。然而,这种机制会变得复杂,因为在文件发生改变后需要手动重载文件。与之相反,使用IDLE菜单选项的Run→Run Module总是运行文件的最新版本。如果必要的话,它同样会首先提醒你保存文件(另一个IDLE之外会发生的常见错误)。

·你只需要重载交互地测试的模块。像shell命令行一样,IDLE的Run→Run Module菜单选项一般只是运行顶层文件以及它导入的任何模块的最新版本。因此,Run→Run Module避免了常见的令人混淆的嵌套导入。你只需要重载那些将在IDLE中交互地导入和测试的模块。如果选择import和reload来替代Run→Run Module的话,要记住使用Alt-P/Alt-N快捷键调用前一条命令。

·可以对IDLE进行定制。改变IDLE的字体及颜色,在任何一个IDLE窗口中选择Option菜单中的Configure选项。也可以配置快捷键组合的动作、缩进设置以及其他;参考IDLE的帮助下拉菜单以获得更多提示。

·在IDLE中没有清屏选项。这个选项看起来是一个经常提到的要求(也许是由于在其他的IDE中都有类似的功能选项),并且也有可能最终增加这个功能。尽管这样,目前还没有清空交互模式窗口文字的办法。如果想要清理掉窗口文字,可以一直按着回车键或者输入一个打印一系列空白行的Python循环(当然,没有人真的会用后一种方法,但是,它听上去比按下Enter键更高超)。

·Tkinter GUI和线程程序有可能不适用于IDLE。因为IDLE是一个Python/Tkinter程序,如果使用它运行特定类型的高级Python/Tkinter程序,有可能会没有响应。这对于使用较新版本的IDLE在一个进程运行用户代码、在另一个进程运行IDLE GUI本身问题会变得小很多,但是一些程序仍然会发生GUI没有响应的情况。你的代码也许不会碰到这样的问题,但是作为经验之谈,如果使用IDLE编辑GUI程序是永远安全的,最好使用其他的选项启动运行它们,例如,图标点击或系统命令行。有疑问时,如果代码在IDLE中发生错误,请在GUI外再试试。

·如果发生了连接错误,试一下通过单个进程的模式启动IDLE。由于IDLE要求在其独立的用户和GUI进程间通信,有时候它会在特定的平台上发生启动错误(特别是在一些Windows机器上,它会不时地出现启动错误)。如果运行时碰到了这样的连接错误,它常常可以通过系统命令行使IDLE运行在单一进程的模式下进行启动,从而避免了通信的问题:-n命令行标志位可以强制进入这种模式。例如,在Windows上,可以开启一个命令行提示窗口,并从C:\Python25\Lib\idlelib(如果必要的话,使用cd切换到这个目录下)运行系统命令行idle.py-n。

·谨慎使用IDLE的一些可用的特性。对于新手来说,IDLE让工作变得更容易,但是有些技巧在IDLE GUI之外并不能够使用。例如,IDLE可以在IDLE的环境中运行脚本,你代码中的变量自动在IDLE交互对话中显示:不需要总是运行import命令去获取已运行的顶层文件的变量名。这可以很方便,但是在IDLE之外的环境会让人很困惑,变量名只有在从文件中导入才能使用。

IDLE还自动把目录修改为刚刚运行的一个文件的目录,并且将其目录添加到模块导入查找路径中,这是一项方便的功能,允许你在没有搜索路径设置的时候导入文件,但是,当你运行IDLE之外的文件的时候,该功能无法同样地工作。使用这样的功能没有问题,但是,别忘了它是IDLE行为,而不是Python行为。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文