Могу ли я прочитать код из ранее запущенного скрипта Python

Я запустил файл python с помощью команды python file.py, и он успешно выполнен. Сразу после того, как мне удалось удалить файл, могу ли я восстановить код, который был выполнен в предыдущей команде? У меня все еще открыт терминал, и я больше ничего не вводил в него. Запуск убунту.

1 ответ

Решение

Если бы вы импортировали файл вместо его непосредственного запуска, был бы создан файл.pyc, содержащий скомпилированный байт-код, который вы могли бы легко преобразовать обратно в обычный код Python (за исключением комментариев.) Однако вы запустили скрипт напрямую, поэтому нет файла.pyc.

Если вы удалили файл в файловом браузере с графическим интерфейсом пользователя, файл мог быть отправлен в "мусорное ведро", откуда вы могли бы его восстановить.

Предполагая, что вы удалили файл с помощью команды "rm" в терминале, данные могут все еще находиться на диске, если они не были перезаписаны ("удаление" файлов обычно просто помечает данные, которые должны быть перезаписаны на диске)

Если вам повезет, вы сможете восстановить его. Однако этот процесс не совсем прост, и нет никакой гарантии, что файл еще не был перезаписан, так как при использовании системы диск практически постоянно используется. Больше информации об этом здесь:

https://help.ubuntu.com/community/DataRecovery

Есть также удобная утилита lsof, которую вы можете использовать для восстановления "удаленного" файла, если для него еще есть дескриптор открытого файла:

https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c00833030

Кроме того, в будущем я рекомендую использовать "rm -i" вместо просто rm без опций, так как это по крайней мере предложит вам подтвердить, если вы уверены, что хотите сначала удалить что-то. Вы также можете создать псевдоним для этого в своей оболочке, чтобы обычный rm просто указывал на 'rm -i'

Другие вопросы по тегам