Natürlich hängt die Antwort davon ab.
Hier sind einige der Fragen, die ich mir stelle würde eine Entscheidung zu treffen -
- tun Sie an die Daten die Änderung auf einem Code-Push abhängig machen wollen?
- gibt es sensible Informationen in den Daten, die bei einem VCS nicht geprüft werden sollen
- was andere Teile des Systems auf diesen Daten
- abhängig ist, wie wahrscheinlich sind Ihre Annahmen über die Daten in Bezug auf Änderungen gehen von Häufigkeit der Aktualisierung und Größe
die Daten Unter der Annahme, klein ist (< 1MB) und es gibt keine sensiblen Informationen drin, ich würde die JSON-Datei laden beginnen als es die einfachste Lösung ist.
Sie müssen die Daten nicht bei jeder Anforderung analysieren, aber Sie können sie einmal auf oberster Ebene parsen und effektiv als Konstante behandeln.
Etwas in dieser Richtung -
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())
Sie dann JSON_DATA
wie ein Wörterbuch in Ihrem Code verwenden können.
awesome_data = JSON_DATA['data']['awesome']
Falls Sie die Daten an mehreren Stellen zugreifen müssen, können Sie diese in ein eigenes Modul (ex. config.py
) bewegen und JSON_DATA
importieren, wo Sie es brauchen.
Ex. in main.py
from config import JSON_DATA
# do something w/ JSON_DATA
Danke für die Antwort @alpeware! VCS weise ich alwyas gitignore meine Dateien! Wie würdest du es in Python "einmal auf höchster Ebene analysieren und effektiv als Konstante behandeln?" – jiachen
@jiachen kein Problem. Ich habe die Antwort mit einem konkreten Beispiel aktualisiert. Lass es mich wissen, wenn du noch Fragen hast. – alpeware
danke für das beispiel !! Bedeutet dies, dass der JSON für jede eingehende HTTP-Anfrage analysiert und geladen wird? – jiachen