(Различные JSON-файлы для различных случаев использования языка.)
import json
# v = "64457.json" #jp
# v = "35777.json" #en, jp, ro
v = "66622.json" #ge, jp, ro
# v = "50900k.json" #ko
# v = "25364c.json" #ch, en
with open(v) as f:
data = json.load(f)
track_list = data['discs'][0]['tracks']
langs = ('German', 'French' , 'Korean', 'Chinese')
for x, track in enumerate(track_list):
for i in track['names']:
print i, len(track["names"].keys())
if i not in langs:
print "NOT I"
if len(track["names"].keys()) == 3 and i in ('Romaji', 'Japanese', 'English'):
d = track["names"]["Romaji"]
s = track["names"]["Japanese"]
y = track["names"]["English"]
print '-', x+1, y, d, s
break
elif len(track["names"].keys()) == 3 and i in langs and i in ('Romaji', 'Japanese'):
d = track["names"]["Romaji"]
s = track["names"]["Japanese"]
y = track["names"][i]
print '@', x+1, y, d, s
break
elif len(track["names"].keys()) == 2 and i in langs:
y = track["names"][i]
e = track["names"]["English"]
print '+', x+1, y, e
break
else:
print '~', x+1, track["names"].values()[0]
Печатная ошибка
German 3
Japanese 3
NOT I
Traceback (most recent call last):
File "main.py", line 25, in <module>
y = track["names"]["English"]
KeyError: 'English'
Что яя пытаюсь сделать
Я пытаюсь перебрать все ключи в track['names']
.Как только он нажмет клавишу, которая также находится в кортеже langs
, я хочу, чтобы он остановился и перешел к соответствующему разделу в разделе if
.Если его нет в кортеже langs
, он должен вывести информацию, которая у него есть, особенно если ключи - Eng, Rom, и Jpn.Я думаю, что все циклы сбивают меня с толку.