def positive_int(value):
try:
ivalue = int(value)
except:
raise argparse.ArgumentTypeError("%s is an invalid positive int value" % value)
if ivalue <= 0:
raise argparse.ArgumentTypeError("%s is an invalid positive int value" % value)
return ivalue
Просто подумайте, что приведенный выше код ужасно уродлив.Первая часть вызывает ошибки, а другая - проверка, является ли значение выполнимым.Ошибка должна быть поднята, если хотя бы один из них выходит из строя.Есть ли способ связать их в проверки вместе, чтобы мне не нужно было повторять строки?Или просто лучшая альтернатива в целом?Большое спасибо:)