ipython
" " または " "を使用する場合code.interact(local=locals())
、プログラムのアドレス空間全体を pickle ファイルに保存する方法と、同様にそのようなファイルをロードしてそのコンテキストで実行を開始する方法が必要です。
これは、仮想メモリのため、単純なスクリプトでは完全に可能です。
ローカルからグローバル、グローバル関数まで、すべての定義済みの名前 (およびそれらが指す孤立していないオブジェクト) はピクルされます。unpickle すると、それらの名前は元のスコープで再度割り当てられます。
プログラムがネットワークを使用しないと仮定すると、そこでの状態の不連続は回避されます。
プログラムは、システム クロックの不連続性の認識に関してフォールト トレラントであるため、問題はないと仮定します。
唯一の課題は、ファイル記述子をどうするかということです。理想的には、これがまだ存在しない場合は、開いているモード ビット、ファイル カーソルの位置、およびファイルの内容のチェックサムを取得する単純な「ファイル記述子 pickle」関数が存在する必要があります ( unpickle しようとするとチェックサムが一致しません)。
この「セッション全体を酸洗いする」ことを達成するいくつかの行はありますか?