首页 > 编程语言 >python3---argparse

python3---argparse

时间:2023-08-05 16:36:53浏览次数:38  
标签:argparse parser args argument --- add path python3

python3---argparse

argparse用于设计、解析命令行参数。

官方文档: https://docs.python.org/3/library/argparse.html

一个求和示例:

import argparse

parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
                    help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
                    const=sum, default=max,
                    help='sum the integers (default: find the max)')

args = parser.parse_args()
print(args.accumulate(args.integers))

更多功能的示例:

# coding:utf8

import argparse
import os
import textwrap


def valid_path(the_path):
    if not os.path.exists(the_path):
        msg = f"{the_path} does not exist"
        raise argparse.ArgumentTypeError(msg)
    if not os.path.isfile(the_path):
        msg = f"{the_path} is not a file"
        raise argparse.ArgumentTypeError(msg)
    return the_path


def main():
    parser = argparse.ArgumentParser(
        formatter_class=argparse.RawDescriptionHelpFormatter,
        description=textwrap.dedent(
            """\
            A simple description

            Example:
                python %(prog)s download hello.txt -d 2222_folder -v
                python %(prog)s download hello.txt -v
            """
        ),
    )
    parser.add_argument("action", choices=["all", "download", "extract", "statistic"])
    parser.add_argument("src_path", type=valid_path, help="the source path")
    # "-"开头为可选项,可通过"required=True"设置为必选项
    parser.add_argument(
        "-d", "--dst_path", type=str, default="result_fodler", help="the result folder"
    )
    parser.add_argument("-v", "--verbose", action="store_true", help="print more info")

    args = parser.parse_args()
    print(args)

    action = args.action
    src_path = args.src_path
    dst_path = args.dst_path
    verbose_flag = args.verbose

    # ...


if __name__ == "__main__":
    main()

2019/12/1

标签:argparse,parser,args,argument,---,add,path,python3
From: https://www.cnblogs.com/-rvy-/p/17608117.html

相关文章

  • Git - git tag
    zzh@ZZHPC:/zdata/Github/zzhrepo1$gitadd-Azzh@ZZHPC:/zdata/Github/zzhrepo1$gitcommit-m"updatefunctionCubeVolume()"[main13f27a8]updatefunctionCubeVolume()1filechanged,9insertions(+),2deletions(-)zzh@ZZHPC:/zdata/Github/zzhr......
  • linux---设置允许流量转发
    linux---设置允许流量转发临时生效:#方法1(必须使用root账户)echo1>/proc/sys/net/ipv4/ip_forward#方法1变种(有sudo权限即可)echo1|sudotee/proc/sys/net/ipv4/ip_forward#方法2sudosysctl-wnet.ipv4.ip_forward=1方法1和方法2效果一样永久生效:修改/et......
  • Typora&博客园---解决图片问题
    一、问题点如果直接将Typora编辑的内容复制到博客园的编辑视图中,其他都能正常显示,但图片的渲染会出现问题,基于此,本篇博客拟介绍一种解决该问题的方式(不通过图床),具体细节有兴趣的可以继续往下看。二、预先需要安装的包2.1.Net3.5勾选之后,等待它安装完成即可。2.2dotNet-sdk......
  • 《软件测试的艺术》原书第三版 - 第四章 - 测试用例的设计
    第四章测试用例的设计白盒测试白盒测试关注的是测试用例执行的程度或覆盖程序逻辑结构(源代码)的程度。完全的白盒测试是将程序中每条路径都执行到,然而对一个带有循环的程序来说,完全的路径测试并不切合实际。逻辑覆盖测试判定覆盖或分支覆盖是较强一些的逻辑覆盖准则。该准......
  • 代码随想录-字符串-c++总结
    关于字符串string一些库函数的使用,不太熟悉,导致开始做的时候比较磕磕绊绊主要用到了<algorithm>中的reverse,以及string的resize,substr,erase等,在这贴一个C++字符串(string)常用操作总结-知乎(zhihu.com)C++的string库用法总结-知乎(zhihu.com)反转字符串||中,每2k个字符进......
  • Mybatis-Flex之基础查询
    1、selectOneById/***selectOneById(id):根据主键查询数据。*/@TestpublicvoidtestSelectOneById(){/***SELECT*FROM`tb_account`WHERE`id`=?*/Accountaccount=accountMapper.selectOneById(10L);......
  • java中ConcurrentHashMap底层原理 - 面试宝典
    ConcurrentHashMap是Java中的线程安全的哈希表实现。它通过使用分段锁(Segment)来实现并发访问的高效率。下面是ConcurrentHashMap的底层原理:数据结构:ConcurrentHashMap内部由一个Segment数组和若干个哈希桶(HashEntry)组成。每个Segment包含一个哈希桶数组和一个共享的锁。每个哈希桶......
  • 无涯教程-Perl - do...while 语句函数
    与for和while循环不同,它在循环的顶部测试循环条件,而do...while循环在以下位置检查其条件:循环的底部。do...while循环与while循环相似,除了保证do...while循环至少执行一次。do...while-语法do{statement(s);}while(condition);应当注意,条件表达式出......
  • AP2400 LED照明电源驱动 DC-DC降压恒流IC 过EMC线路图 PCB线路图 车灯摩灯
    产品特点宽输入电压范围:5V~100V可设定电流范围:10mA~6000mA固定工作频率:150KHZ内置抖频电路,降低对其他设备的EMI干扰平均电流模式采样,恒流精度更高0-100%占空比控制,无电流节点跳变输出短路保护过温保护三功能模式:全亮/半亮/爆闪/三功能循环SOP8封装产品描述AP2400是一款PWM工作模......
  • 无涯教程-Perl - 嵌套循环函数
    一个循环可以嵌套在另一个循环中,Perl允许嵌套所有要嵌套的循环。nestedloops-语法Perl中嵌套for循环语句的语法如下-for(init;condition;increment){for(init;condition;increment){statement(s);}statement(s);}Perl中嵌套while循环语......