资讯详情

Python argparse 简介

前言

在运行python程序时,我们或许需要一些可选参数。对于这些参数,我们可以通过命令行输入。

  • 在最简单的情况下,我们通过命令运行python使用程序的命令如下所示

    python demo.py  # demo它是程序的名称,可以自由选择 
  • 我现在想加一个参数 name,该怎么办?其中一种方法如下所示

    python demo.py --name Trump 

我见过很多次这样,那么这个功能是如何实现的呢?argparse包可以实现。

argparse

现在假定,python文件名为demo.py

主要步骤

简单的用法主要分为以下四个步骤。

  • 首先导入argparse

    import argparse 
  • 通过ArgumentParser()创建参数分析器,即parse对象。函数的参数是对分析器的描述

    parser = argparse.ArgumentParser(description="Demo of argparse") 
  • 通过add_argument()添加参数

    • 添加一个name属性

      parse.add_argument('-n', '--name', default='nsy') parse.add_argument('-y', '--year', default='2022') 
      • 这里的-n--name使用命令行输入参数时,没有区别。但当两者都在时add_argument()当它同时出现时,系统默认后者是参数名
      • 此时,可以通过命令行添加name如何显示参数?
  • 通过parse.parse_args()取出

    args = parse.parse_args() print(args) 

完整程序

import argparse  parse = argparse.ArgumentParser(description='Demo of argparse') parse.add_argument('-n', '--name', default='nsy') parse.add_argument('-y', '--year', default='2022') args = parse.parse_args() print(args) name = args.name year = args.year
print('Hello {} is {}'.format(name, year))

利用命令行运行demo.py

  • python demo.py。输出如下

    Namespace(name='nsy', year='2022')  # 两个参数都是默认值
    Hello nsy is 2022
    
  • python nsy_test.py -n qyb --y 2023。输出如下

    • 我们可以看到,在命令行中,'-n','--name'表示同一个参数。当然我们在add_argument()中可以只写一个
    Namespace(name='qyb', year='2023')  # 两个参数和输入的一致
    Hello qyb is 2023
    
  • name = args.name改为name = args.n程序会报错。因为系统认为后一个才是参数名

本文主要参考argparse基本用法_骑着蜗牛向前跑的博客-CSDN博客_argparse

标签: qyb102a压力变送器qyb102智能数显压力变送器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台