如何在 argparse 中使用条件语句?

How to use conditional statements with argparse?

所以我创建了我的 argparse,它有两个不同的标志。一个是 -a,另一个是 -b。当我 运行 我的脚本 damage.py 带有特定标志时,我希望它能够根据传递的标志执行函数。例如,如果我传递 damage.py -t,它将 运行 函数 tester(),如我的导入和打印 hello 所示,如果我传递 -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()

无需先将这些值保存到变量中,您可以像这样直接访问它们:

if args.export_date:
    # Do something with date

if args.execute_test:
    tester()

这意味着当您 运行 您的程序喜欢 python damage.py -dt 时,它将 运行 日期块中的代码和测试器块中的代码。