もちろん答えはそれに依存します。ここで
は私が決定を下すために自分自身を尋ねると思いますいくつかの質問です -
- あなたは、コードのプッシュ上のデータへの変更は、依存にしたいですか?
- VCSにチェックインしてはならないデータ内の機密情報は、このデータ
- に依存しているどのように可能性の高いデータについてのあなたの仮定はの面で変更しようとしている他のものをお使いのシステムの一部
- ありデータを仮定すると、更新とサイズ
の周波数は、(< 1メガバイト)小さく、それには機密情報がありません、私はそれが最も簡単な解決策だとしてJSONファイルをロードして開始したいです。
各リクエストでデータを解析する必要はありませんが、最上位レベルで解析して効果的に定数として扱うことができます。これらの線に沿って
何か -
import os
import json
DATA_FILE = os.path.join(os.path.dirname(__file__), 'YOUR_DATA_FILE.json')
with open(DATA_FILE, 'r') as dataFile:
JSON_DATA = json.loads(dataFile.read())
あなたは、あなたのコード内の辞書のようJSON_DATA
を使用することができます。あなたが複数の場所でデータにアクセスする必要がある場合には
awesome_data = JSON_DATA['data']['awesome']
、あなたは独自のモジュールにこれを移動することができます(例:config.py
)とあなたがそれを必要な場所JSON_DATA
をインポートします。
Ex。 in main.py
from config import JSON_DATA
# do something w/ JSON_DATA
回答ありがとうございました@alpeware! VCSは私のデータファイルに加えて賢明です! Pythonでは、どのようにして "トップレベルでそれを一度解析し、効果的に定数として扱いますか?" – jiachen
@jiachen問題ありません。特定の例で答えを更新しました。まだ質問がある場合はお知らせください。 – alpeware
例のおかげで!これはJSONが解析され、入ってくるすべてのHTTP要求に対してロードされることを意味しますか? – jiachen