经过3个小时后,我在终端上测试了我的脚本。但是,我的编辑搞砸了,当它仍在终端上执行时,它覆盖了我的脚本。好吧,我没有终止运行脚本,所以我想知道python解释器是否将当前运行的文件保存在临时文件夹或其他地方以便我可以恢复我的脚本?
答案 0 :(得分:0)
Python尝试缓存.pyc文件。它的完成情况随着时间的推移而发生了变化(请参阅PEP 3147 -- PYC Repository Directories。顶级脚本不会被缓存,但是导入的脚本是。所以,你可能没有。
.pyc文件是编译后的字节代码,所以它不仅仅是重命名它.py的问题,你只能通过查看它们来解决它们。那里有反编译器,就像这里重新启用的那样: Decompiling .pyc files
就个人而言,我为我的剧本创建了mercurial repos并经常检查它们......因为我在一两次犯了类似的错误。 git,svn等...是维护回购的其他流行工具。
根据您的操作系统和编辑器,您可能在“已删除邮件”中有副本,甚至可能由编辑器保存。您也可以回滚"文件系统。
答案 1 :(得分:0)
如果您正在运行Linux,如果进程仍在运行,您仍可以找到在/ proc /目录中打开文件的句柄。此句柄将阻止文件被删除。详细信息请参阅:https://superuser.com/questions/283102/how-to-recover-deleted-file-if-it-is-still-opened-by-some-process