Я собираю короткий сценарий анализа данных с использованием pandas и записываю результаты на листе excel с графами.Повышение пользовательских ошибок в процедурных скриптах python
В настоящее время я использую sys.exit
, чтобы информировать пользователя о проблемах, связанных с входными данными.
Ниже приведен пример:
if len(titles) != len(plot_key):
raise sys.exit('Error: Number of chart titles does not equal the number of plots to be generated')
В одном случае я хотел бы поделиться дополнительной информацией, хранящейся в переменной с пользователем
if df[df.Well > 3].empty is False:
sys.exit('Error: Data contains more than 3 wells.')
Если условие True
и есть ценности в df[df.Well > 3]
Я хотел бы поделиться с пользователем индексами df[df.Well > 3]
, чтобы они знали, где проблема, а не оставлять их до них, чтобы выяснить.
Прямо сейчас я делаю это, но это похоже на хак.
if df[df.Well > 3].empty is False:
print df[df.Well > 3].index.get_values()
sys.exit('Error: Data contains more than 3 wells.')
Любые предложения по передовым методам будут очень признательны.
Вы можете создать новый класс, который распространяется из класса 'Exception' и в методах' __init__' или '__str__', которые вы можете передать своим данным. Или вы можете «поднять Exception (« ваш вывод »)' –