相关疑难解决方法(0)

在子解析器args之后添加顶级argparse参数

在使用来自子解析器的子命令后,如何允许添加顶级程序参数?

我有一个包含多个子解析器的程序,允许使用子命令来更改程序的行为。这是如何设置的示例:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import argparse


def task_a():
    print('did task_a')

def task_c():
    print('did task_c')

def task_d():
    print('did task_d')


def run_foo(args):
    a_arg = args.a
    c_arg = args.c
    if a_arg:
        task_a()
    if c_arg:
        task_c()


def run_bar(args):
    a_arg = args.a
    d_arg = args.d
    if a_arg:
        task_a()
    if d_arg:
        task_d()

def parse():
    '''
    Run the program
    arg parsing goes here, if program was run as a script
    '''
    # create the top-level parser
    parser = argparse.ArgumentParser()
    # add top-level …
Run Code Online (Sandbox Code Playgroud)

python arguments argparse

6
推荐指数
2
解决办法
818
查看次数

标签 统计

argparse ×1

arguments ×1

python ×1