Предположим, я анализирую файл фиксированной ширины:
file_format = {'year' : (0, 3, int), 'price' : (4, 10, float)}
for lineno, line in enumerate(input_file):
try:
fields = {k : v[2](line[v[0]:v[1]]) for k, v in file_format.items()}
except ValueError:
print("cannot parse line {}".format(lineno))
Я хотел бы добавить к распечатке исключения информацию о том, какое именно поле не может быть проанализировано.Можно ли как-нибудь получить значения k
и v
, не заменяя понимание dict циклом?