try:
symbol = input("Specify symbol: ").upper()
dt_string = input("Specify datetime in isoformat (e.g.'2021-05-27T03:30:00+00:00'): ")
try:
dt = datetime.fromisoformat(dt_string)
except Exception as e:
print(e)
ts = Decimal(input("Specify ticksize after: "))
except Exception as e:
print(e)
else:
with open(join(file_directory, "ticksize_changes.json"), "r") as f:
ts_dict = json.load(f)
print(ts_dict)
if ts_dict[symbol]: # if symbol exists in json file
ts_dict[symbol].append({'datetime': dt_string, 'ts_after': ts})
else:
ts_dict[symbol] = [{'datetime': dt_string, 'ts_after': ts}]
with open(join(file_directory, "ticksize_changes.json"), "w") as f:
json.dump(ts_dict, f, default=str)
I have a try-except-else structure, and in the else, I have a with statement. In that with statement, I have a simple if-else. I tried a case where the if statement executed successfully, but as soon as I tried a case where it should reach the else statement I get the following error:
The console message is correct - indeed no such key exists. But why does the else statement fail to execute?