如果文件从未保存过,如何在IDLE中重新引入“无提示保存”选项

时间:2016-07-27 15:54:49

标签: python save preferences prompt python-idle

目前我在笔记本电脑上使用最新版本的Python 2(2.7.12),以及IDLE版本2.7.12和TK版本8.5.15,以防相关内容。

在我的学校计算机上使用稍微旧版本的IDLE(版本2.7a0),它在IDLE首选项的“常规”选项卡中(在选项下,配置IDLE ...),特别是我不喜欢的偏好我在笔记本电脑上安装的最新版IDLE中可以看到更长时间。

特别是,对于“运行(F5)首选项”小节,它在标题“如果文件从未保存过”后提供了两个选项;一个“提示保存”,另一个“没有提示”。

我在更现代的IDLE环境下找不到这个选项。我希望你们中的一个人可能知道是否有某种方法可以改变现代版本的IDLE或Python来重新引入这个功能? (例如,我可以为Python打开某种源文档并自己进行修改吗?)。

我有时觉得它很令人沮丧,因为我经常想用一些非常简单的代码创建一个新文件,以测试我对Python的理解是否与特定概念(即虚数在数组中如何工作)无关我的整个程序通常要复杂得多,并且需要花费更长的时间来测试(并且在代码越长的情况下评论所有内容都非常繁琐)。必须打开一个新文件,输入我的代码,将其保存在我的桌面上,这是一种耗时。

不管你信不信,有时候我会有多个窗口测试不同的概念,因为我想继续以多种方式测试Python,而不会删除我之前在其他测试中所做的工作,这些工作正在进行中。

如果它是相关的,学校的计算机正在使用Python版本2.7.12和TK版本8.5(我仍然需要弄清楚TK的含义)。

据我所知,我可能只是将IDLE的版本回滚到这个早期版本(我假设这无论如何都会工作) - 但我也担心我可能会失去现代版本的一些关键功能,或者说我将重新介绍以前处理过的一些错误。

〜感谢您的帮助〜

Unununium

1 个答案:

答案 0 :(得分:0)

我对这份报告感到困惑。 “自动保存首选项”部分仍然存在。 idlelib.configDialog.py,类ConfigDialog,方法CreatePageGeneral在第384和396行有(应该有)此代码。

    frameSave = LabelFrame(frame, borderwidth=2, relief=GROOVE,
                           text=' Autosave Preferences ')
    ...
    #frameSave
    labelRunSaveTitle = Label(frameSave, text='At Start of Run (F5)  ')
    radioSaveAsk = Radiobutton(
            frameSave, variable=self.autoSave, value=0,
            command=self.SetKeysType, text="Prompt to Save")
    radioSaveAuto = Radiobutton(
            frameSave, variable=self.autoSave, value=1,
            command=self.SetKeysType, text='No Prompt')

除了在2014年添加空格以符合PEP 8之外,此代码自2003年以来没有变化。它先于启动首选项和初始窗口大小成功。我使用hg annotate来查看文件在2.6和2.7之前的情况。

存储库记录可能不完整或者在alpha0版本中尝试了某些内容并因为它无法正常工作(并且提交和还原已删除)而被删除。如果你找到不同的代码,你可以粘贴剪切和启动标题的部分,看起来就行了#34; Python 2.7.12(v2.7.12:d33e0cf91556,2016年6月27日,15:24:40)"进入你的问题。

AFAIK,IDLE始终要求使用名称将新文件保存到磁盘,否则将无法创建正确的回溯。跟踪器上的问题19042是运行“无标题”的提案。通过IDLE选择名称和路径而没有给出名称的窗口。或者可以保存在用户配置的目录中。

2.7的alpha-0版本将是最可能的。应该已经被替换了。

OT:Tk是Tcl的GUI工具包。 Tkinter是Python与tk的接口。