web-dev-qa-db-ja.com

削除されたiPythonノートブックを復元する方法

Anaconda経由でiPython Notebookを持っています。誤って重要なノートブックを削除したが、ゴミ箱の中に見つからないようだ(iPyノートブックはゴミ箱に移動するとは思わない)。

ノートブックを復元する方法を知っている人はいますか? Mac OS Xを使用しています。

ありがとう!

8
billbert

これはThuenerの回答に関する追加情報です。

削除した.ipynbファイルを回復するために、次のことを行いました。

  1. キャッシュは〜/ .cache/chromium/Default/Cache /にあります(クロムを使用)
  2. バイナリ検索モードでgrepを使用、grep -a 'import math'(コード内の特定のキーワードで検索文字列を置き換えます)
  3. Vimでバイナリファイルを編集します(geditでは開きません)
    • python ipynbは '{"cells":'で始まるファイルでなければなりません。
    • 「 "nbformat":4、 "nbformat_minor":2}」で終わる
    • これらの開始点と終了点以外のすべてを削除します
  4. ファイルの名前を.ipynbに変更し、jupyter-notebookで開くと機能します。
13
Vivek-Ananth

OS(rm file.ipynb)で削除した場合は、おそらく〜/ .ipython_checkpoints /から取得できますが、ブラウザーのメニューオプションから削除した場合は、(設計により)削除されます。

ここでの議論を参照してください: https://github.com/jupyter/notebook/issues/405

9
Doug Blank

「削除」機能は、ファイルを永久に削除するのではなく、OSのゴミ箱に送信するようになりました。このPRを参照してください: https://github.com/jupyter/notebook/pull/1968 。そのため、ご使用のシステムのどこにいてもごみ箱を開いて復元することができます。

5
exp1orer

Ipythonの履歴を取得する最も簡単な方法(開発者がこの問題を処理するまで)は、すべてを空のファイルに書き込むことだと思います。

最後のスクリプトを作成した日付で確認する必要があります。明らかに、それはあなたのIpythonの歴史の最後の部分になるでしょう。

Ipython履歴をファイルに書き込むには:

%history -g -f anyfilename
4
yagmur

JuliaBox(jupyter for Julia)のいくつかのファイルを削除する私のような不運な人のために、解決策があります。削除されたすべてのファイルを正常に回復します。

ブラウザは、アクセスしたページに関するキャッシュ情報を保存します。キャッシュブラウザーフォルダー(crbunでのubuntuでは〜/ .cache/google-chrome/Default/Cacheでした)と、バイナリ内のノートブックのテキストのgrepを見つける必要があります。次に、ipynbに対応するファイルのテキスト部分を切り取ります。

https://groups.google.com/forum/#!searchin/Julia-box/delete%7Csort:relevance/Julia-box/Rt9LG9RldrU/3s_vVSrivJEJ

3
Thuener

PyCharmを使用する場合、次のことができます。

  1. [ローカル履歴]ビューを開きます。

  2. ロールバックするバージョンを選択します。

  3. 選択のコンテキストメニューで、[元に戻す]を選択します。

私のために働いた!

ソース: here

Windowsを使用している場合は、ありがたいことにごみ箱に送信します。明らかに、チェックポイントを作成することをお勧めします。

0
user3023715

残念ながら、私のファイルはチェックポイントディレクトリにもクロムのキャッシュにもありませんでした。幸いなことに、ext4フォーマット済みのファイルシステムで、extundeleteを使用してファイルを回復できました。

  1. 不足している削除済みファイルが保存されているドライブを見つけます。

    df /your/deleted/file/diretory/

  2. 書き込みアクセス権がある別のフォルダーに移動します:

    cd /your/alternate/location/

  3. マウントされていないパーティションでextundleteを実行することをお勧めします。したがって、削除したファイルがオペレーティングシステムと同じドライブに保存されていない場合、削除したファイルのパーティションをアンマウントすることをお勧めします(続行する前にextundleteが既にインストールされていることを確認することもできます):

    Sudo umount /dev/sdaxここで、sdaxは以前のdfコマンドによって返されたパーティションです。

  4. Extundeleteを使用してファイルを復元します。

    Sudo extundelete --restore-file /your/deleted/file/diretory/delted.file /dev/sdax

  5. 成功した場合、復元されたファイルは次の場所にあります。

    /your/alternate/location/your/deleted/file/diretory/delted.file

0
virtualxtc