def add_vocabulary(key_word, value_word, form='infinitiv'):
dater = datetime.datetime.now().strftime("%d-%m-%Y")
try:
with (open('wordlist.json', 'r', encoding="utf-8-sig") as f):
data = json.load(f)
if dater not in data:
data[dater] = {}
if "0" not in data[dater]:
data[dater]["0"] = {}
if key_word not in data[dater]["0"]:
data[dater]["0"] = [key_word]
# KeyError 'h'
if form not in data[dater]["0"][map(lambda y: y['Tags'], data[key_word])]:
data[dater]["0"][key_word][form] = {}
data[str(dater)]["0"][key_word][form] = value_word
print("added as " + form + ": " + "english: " + key_word + " german: " + value_word)
while value_word != data[dater]["0"][key_word][form]:
twogerman = data[dater]["0"][key_word][form]
overwrite = input(f'do you want overwrite "%s" to "%s" (y-n): ' % (twogerman, value_word))
if "y" == overwrite or "yes" == overwrite:
old_german = data[str(dater)]["0"][key_word][form]
data[str(dater)]["0"][key_word][form] = value_word
print("overwrite: " + " form: " + form + ", english: " + key_word + ", german: " + old_german)
print("white: " + " english: " + key_word + ", german: " + value_word)
break
elif "n" == overwrite or "no" == overwrite:
break
with open('wordlist.json', 'w', encoding="utf-8-sig") as f:
json.dump(data, f)
Schlüsselwort = h; value_word=j;
Ich möchte über das Schlüsselwort = ['h']-Werte auf die Werte zugreifen
Ich habe es mit mappen versucht, aber es erscheint der gleiche KeyError „h“.