🐡

Pythonの辞書をファイルに保存、読み込んで使用する

2021/07/07に公開

Youtube APIを使ったツールを作っているのだが、このAPIの使用制限がきつい。
 Google Cloudの1プロジェクトあたり10,000Quotas/day使えますよということなのだが、検索をすると100quotas必要なので、何も考えずにAPIを使っていると、あっという間に使用制限を超えてしまい、続きはまた明日〜あるいは新しいGoogle Cloudのプロジェクトを作るしかない。
 というわけで、開発中は一度取得したデータをファイルに保存し、APIを呼ぶ代わりにそのファイルを読み込むことにしよう。ネットで調べたところ、Numpyを使うと簡単そうなので、適当に保存・読み込み処理を作ったのだが、ちょっとした問題発生。保存した辞書データを読み込むと、元データと異なるデータが返ってくる。この対策にちょっとした細工が必要だったので、覚書。

import numpy as np

def write_dic(logfile_name, obj):
    # ファイルに書き込む
    np.save(logfile_name, obj)
    return

def load_dic(logfile_name):
    # ファイルから読み込む
    # np.load()の後ろに[()]を付けておくと、最初の辞書を取り出してくれる
    obj = np.load(logfile_name, allow_pickle='TRUE')[()]
    return obj
    # ファイルに書き込む
    write_dic("dic.npy", obj)

    # ファイルから読み込む
    newDic = load_dic("dic.npy")

けっこう簡単

Discussion