Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
with open('welcome.json', 'r+') as f:
i = json.load(f)
if Wohnort in i:
print('Wurde gefunden:')
else:
print('Wurde nicht gefunden?')
i[Wohnort] = Frankfurt
with open('welcome.json', 'w') as f:
json.dump(i, f, indent=4)
Ein Wörterbuch erlaubt keine doppelten Einträge. Dein Problem ist also schon gelöst.
`r+` ist nie ein sinnvoller Dateimodus. Bei Text-Dateien immer ein Encoding angeben, bei JSON ist das immer UTF8. Variablennamen schreibt man komplett klein und einbuchstabige Variablennamen sind schlecht, weil sie nichts aussagen. Auch welcome.json sagt jetzt nicht wirklich, dass da ein Wörterbuch mit Wohnorten drin steht.
JSON-Dateien öffne ich mittlerweile zum Lesen immer im Binärmodus, denn das `json`-Modul ermittelt dann selbst in welcher UTF-*-Variante die Daten vorliegen. Bin da neulich mal über eine UTF-16-kodierte Datei gestolpert. Schreiben dann immer explizit als UTF-8.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari