[解決済み] 現在のPythonセッションのすべての変数を保存する方法は?
2022-10-22 06:06:24
質問
現在のpython環境にあるすべての変数を保存したいです。一つの選択肢として、'pickle'モジュールを使用することができるようです。しかし、私は2つの理由のためにこれをしたくありません。
-
を呼び出さなければならない。
pickle.dump()
を呼び出す必要があります。 -
変数を取り出したいときは、変数を保存した順番を覚えておいて、その順番で
pickle.load()
を実行して、各変数を取得する必要があります。
私は、セッション全体を保存し、この保存されたセッションをロードしたときに、すべての変数が復元されるような、何らかのコマンドを捜しています。これは可能ですか?
編集:私は、私が気にしないことを推測する呼び出し
pickle.dump()
を呼び出すのは構わないと思いますが、変数が保存された正確な順番を覚えておくことは大きな制約のように思えます。それは避けたい。
どのように解決するのですか?
もし
シェルブ
を使えば、オブジェクトを漬ける順番を覚えておく必要はありません。
shelve
は辞書のようなオブジェクトを与えるからです。
自分の仕事を棚上げするために
import shelve
T='Hiya'
val=[1,2,3]
filename='/tmp/shelve.out'
my_shelf = shelve.open(filename,'n') # 'n' for new
for key in dir():
try:
my_shelf[key] = globals()[key]
except TypeError:
#
# __builtins__, my_shelf, and imported modules can not be shelved.
#
print('ERROR shelving: {0}'.format(key))
my_shelf.close()
復元するには
my_shelf = shelve.open(filename)
for key in my_shelf:
globals()[key]=my_shelf[key]
my_shelf.close()
print(T)
# Hiya
print(val)
# [1, 2, 3]
関連
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] Pythonで静的なクラス変数は可能ですか?
-
[解決済み] Pythonの対話型セッションを保存する方法は?
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] DataFrameに日付間の日数カラムを追加する pandas
-
[解決済み] python-requests モジュールからのすべてのリクエストをログに記録します。
-
[解決済み] Python Logging でログメッセージが2回表示される件
-
[解決済み] Pythonによる一対のクロスプロダクト [重複] (英語)
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複
-
[解決済み] Linuxでプロセスのメモリをディスクに保存し、後で復元する「ハイバネーション」方法とは?