dict
{"26-11-2023": {"1": {"enos": {"infinitivee": "enormous", "k": "b"}},"25-11-2023": {"1": {"enor": {"infinitivee": "enormous", "k": "b"}}}}}
code:
def read_json():
daters = []
# sefly read json file
try:
with open('German-English_wordlist.json', 'r', encoding="utf-8-sig") as f:
data = json.load(f)
except json.decoder.JSONDecodeError:
print("\033[91m[!!] File empty or anything wrong in file\033[0m", end=" - ")
print("\033[93mTry running `add` command\033[0m", end="\n")
return
except FileNotFoundError:
print("\033[91m[!!] File not found\033[0m", end=" - ")
print("\033[93mTry running `add` command to create\033[0m", end="\n")
return
except Exception:
print("\033[91m[!!]Unknown error \033[0m", end=" - ")
print("\033[93mTry to report\033[0m", end="\n")
print(Exception)
return
# check valid vocabulary daters
#KeyError: '25-11-2023'
try:
for key in data.keys():
print(data)
print(data['25-11-2023'])
print(key)
if timestamp >= int(datetime.datetime.strptime(key, '%d-%m-%Y').strftime("%s")) and timestamp != "---":
daters.append(key)
except UnboundLocalError:
print("\033[91m[!!] File empty or anything wrong in file\033[0m", end=" - ")
print("\033[93mTry running `add` command\033[0m", end="\n")
return
# if not a dater in then print finish and break else choice random on of them
print(daters)
try:
dater = random.choice(daters)
except IndexError:
print("\033[93mFinish\033[0m\n")
return
queried = [key for key in data[dater].keys()]
queried = random.choice(queried)
keys = [key for key in data[dater][queried].keys()]
key = random.choice(keys)
forms = [key for key in data[dater][queried][key].keys()]
# depending on the mode asking for the form of the word
if False:
form = random.choice(forms)
else:
form = "infinitivee"
value = data[dater][queried][key][form]
return data, dater, queried, key, form, value
output:
{'26-11-2023': {'1': {'enos': {'infinitivee': 'enormous', 'k': 'b'}}, '25-11-2023': {'1': {'enor': {'infinitivee': 'enormous', 'k': 'b'}}}}}
Traceback (most recent call last):
File "/media/deffer/User_data/Tools/vokabularis/vokabularis.py", line 135, in <module>
data, choused_dater, queried, key, form, value = read_json()
File "/media/deffer/User_data/Tools/vokabularis/vokabularis.py", line 44, in read_json
print(data['25-11-2023'])
KeyError: '25-11-2023'
Wenn ich mein dictionary zum volgendem andere, funktioniert alles.
{"25-11-2023": {"1": {"enor": {"infinitivee": "enormous", "k": "b"}}}, "26-11-2023": {"1": {"enos": {"infinitivee": "enormous", "k": "b"}}}}
code:
ist der selbe wie davor
Output:
Successed