Как использовать условные операторы с argparse? - PullRequest
0 голосов
/ 18 января 2019

Итак, я создал свой argparse, который имеет два разных флага. Один - -a, а другой - -b. Когда я запускаю свой скрипт mage.py с определенным флагом, я хочу, чтобы он мог выполнять функцию в зависимости от того, какой флаг передан. Например, если я передам damage.py -t, он запустит функцию tester(), как показано в моем приветствии импорта и печати, где, как если бы я передал -d, он запустит другую функцию. Пока мой код выглядит следующим образом:

import argparse


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("-a", "--export-date", action="store_true", required=True)
    parser.add_argument("-b", "--execute-test", action="store_true", required=False)


if __name__ == '__main__':
    main()

1 Ответ

0 голосов
/ 18 января 2019

Вместо того, чтобы сначала сохранить эти значения в переменной, вы можете получить к ним прямой доступ, например:

if args.export_date:
    # Do something with date

if args.execute_test:
    tester()

Это означает, что при запуске вашей программы наподобие python damage.py -dt она будет выполнять как код в блоке даты, так и в блоке тестера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...