@denislysenko
data engineer

Как написать условие в python, где несколько проверок могут быть равны true?

Есть функция в которой есть условие if, elif, else
Но здесь может быть такое, что все (if, elif и второй elif) могут быть true.
Как переписать условие, чтобы в случае если if, elif и второй elif будут true, выполнялись все операции которые соответствуют этим условиям?

def main():
    if args.csv2parquet is not None:
        csv_to_parquet(args.csv2parquet[0], args.csv2parquet[1])
    elif args.parquet2csv is not None:
        parquet_to_csv(args.parquet2csv[0], args.parquet2csv[1])
    elif args.get_schema is not None:
        print(get_schema(args.get_schema))
    else:
        print('type: python3 convert.py --help')
  • Вопрос задан
  • 227 просмотров
Пригласить эксперта
Ответы на вопрос 2
@alexbprofit
Junior SE
try:
  csv_to_parquet(args.csv2parquet[0], args.csv2parquet[1])
  parquet_to_csv(args.parquet2csv[0], args.parquet2csv[1])
  print(get_schema(args.get_schema))
except Exception:
  print('type: python3 convert.py --help')
Ответ написан
Комментировать
ScriptKiddo
@ScriptKiddo
def all_args_is_none(args_list: list) -> bool:
    return all(True if _ is None else False for _ in args_list)


def main():
    if args.csv2parquet is not None:
        csv_to_parquet(args.csv2parquet[0], args.csv2parquet[1])
    if args.parquet2csv is not None:
        parquet_to_csv(args.parquet2csv[0], args.parquet2csv[1])
    if args.get_schema is not None:
        print(get_schema(args.get_schema))

    if all_args_is_none(args_list=[args.csv2parquet, args.parquet2csv, args.get_schema]):
        print('type: python3 convert.py --help')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы