プログラミング【スポンサーリンク】Pickleという、Pythonの変数などを外部ファイルに保存する機能についてです。コレを使えば、自前でフォーマットなどを考えなくても、変数やクラスをまるごと保存→取得して復元することができます!単純なPickleファイルにダンプ(保存)ファイルを読込み変数やクラスをPickle変数でPickleクラスをPickleこんなときに使える?Seleniumなどで取得したページデータ初期設定/途中データの保存ゲームのセーブデータエラーレポートあとがき単純なPickle一番単純な例として、文字列データを例に出します。print(pickle.load(f))この場合は結果としてhelloと表示されます。ダンプしたものと同じデータが取得できましたね!変数やクラスをPicklePickleは変数やクラスにも利用できます。変数でPickle例えばこんな感じで、ディクショナリ型をダンプします。f)これを読み込んで、中身を見てみます。pickle.load(f)print(res)するとこのように表示されます。'john'}変数はもちろんディクショナリ型が入っています。すればprint(type(res))print(res[2])こう表示されます。'dict'>mayクラスをPickleこんな感じのクラスを用意してみました。ある人物データですね。rem.profile()このクラスを利用して、クラスを実体化します。17こんなときに使える?活用する箇所は多々あるとは思いますが、いくつか事例を考えてみました。Seleniumなどで取得したページデータWebスクレイピングをしようとすると「あるページのデータ」を取得して解析しますよね。毎度取得すると、通信も発生するし、処理速度的にも通信時間が絡みます。外で作業するケースがあった場合、如実に関係しそうですよね。初期処理で重たい計算を行っている途中経過を保存したいなんてときに使えそうですね。ぼくはチョチョイとしたプログラムしか組んでないので、あまりこういうことはないですが......「計算が固定なのに、毎回行わせるには処理的には重たい」なんて場合はイイかもしれません。ゲームのセーブデータクラスまるごとバイナリデータ化できるってことは、ゲームのセーブデータに使えるかもしれませんね。RPGなど「現在の状況」を保存するためには要素が大量......というときに使えるかもしれません。バイナリデータなので、「普通のユーザ」には中身が見えないですからね。改ざんの可能性を考えると、「対象クラスを暗号化する」とか必要かもしれませんが......エラーレポートクラッシュ時にPickleがもし取れるなら、「それを貰ってエラーレポートにする」なんてこともできるかもしれませんね。なにか躓いたときの状況を保存して、渡せばそのまま再現できちゃう。なると、デバッグ側はかなり楽な気がします。あとがき「Pickleを使うと現在の変数の状況が保存できる!」ということを覚えておくと、何かに使えるかもしれません。lisz-worksスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。