【发布时间】:2019-03-02 20:30:26
【问题描述】:
我使用命令 python file.py 运行了一个 python 文件并成功执行。在我设法删除文件后,我可以恢复在上一个命令中运行的代码吗?我仍然打开终端,并且没有在其中输入任何其他内容。运行 ubuntu。
【问题讨论】:
-
这不是python特有的。如果您错误地删除了文件并且没有备份,那么您可以尝试使用文件恢复软件,但不能保证......
我使用命令 python file.py 运行了一个 python 文件并成功执行。在我设法删除文件后,我可以恢复在上一个命令中运行的代码吗?我仍然打开终端,并且没有在其中输入任何其他内容。运行 ubuntu。
【问题讨论】:
如果您已导入文件而不是直接运行它,则会创建一个包含已编译字节码的 .pyc 文件,您可以轻松地将其转换回常规 python 代码(减去 cmets。)但是,您确实运行了直接脚本,所以没有 .pyc 文件。
如果您在 GUI 文件浏览器中删除了该文件,则该文件可能已被发送到“垃圾箱”中,您可以从中恢复。
假设您在终端中使用“rm”命令删除了文件,但是,数据可能仍然在磁盘上,前提是它没有被覆盖(“删除”文件通常只是标记磁盘上要覆盖的数据)
如果你幸运的话,你也许可以恢复它。但是,该过程并不完全简单,并且无法保证该文件尚未被覆盖,因为在您使用系统时磁盘几乎一直在使用。更多信息在这里:
https://help.ubuntu.com/community/DataRecovery
还有一个名为 lsof 的便捷实用程序,如果仍有打开的文件句柄,您可以使用它来恢复“已删除”文件:
https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c00833030
另外,在未来,我建议使用“rm -i”而不是只使用没有选项的 rm,因为这至少会提示您确认是否确定要先删除某些内容。您也可以在您的 shell 中为此创建一个别名,以便常规 rm 只指向 'rm -i'
【讨论】: