python命令行参数argparse模块基本用法详解

目录
  • 一、传入一个参数
  • 二、传入多个参数
  • 三、改变数据类型
  • 四、可选参数(关键字参数)
  • 五、参数默认值
  • 六、参数解析
  • 补充:python中的argparse基本用法

argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数。

一、传入一个参数

import argparse

# 创建一个命令行参数解析器
parser = argparse.ArgumentParser(description='命令行中传入一个数字')
# 往解析器里面添加参数
parser.add_argument('integer', type=str, help='传入的数字')
# 得到命令行传入的参数
args = parser.parse_args()
print(args.integer)

二、传入多个参数

import argparse

# 创建一个命令行参数解析器
parser = argparse.ArgumentParser(description='命令行中传入一个数字')
# 往解析器里面添加参数
parser.add_argument('integer', type=str, nargs='+', help='传入的数字')
# 得到命令行传入的参数
args = parser.parse_args()
print(args.integer)  # 以列表形式返回
注:
- nargs='+': 传入一个或多个参数
- nargs='*': 传入零个或多个参数
- nargs='?': 传入零个或一个参数

三、改变数据类型

# 可通过更改type参数修改数据类型
parser.add_argument('integer', type=str, nargs='+', help='传入的数字')

四、可选参数(关键字参数)

注:参数前面加双横杠"- -"表示这个参数是可选参数,即在命令行中可以以键值得形式指定,顺序可以打乱。

import argparse

parser = argparse.ArgumentParser(description='姓名')
parser.add_argument('--family', type=str, help='姓')
parser.add_argument('--name', type=str, help='名')
args = parser.parse_args()
#打印姓名
print(args.family+args.name)

命令行命令:
python XXX.py --family 张 --name 三 or
python XXX.py --name 三 --family 张

五、参数默认值

通过default指定默认值。

parser.add_argument('--family', default='李', type=str, help='姓')
parser.add_argument('--name', type=str, help='名')

六、参数解析

parse_args()只能解析已知参数,parse_known_args()兼容未知参数并返回。

import argparse

parser = argparse.ArgumentParser(description='姓名')
parser.add_argument('--family', type=str,help='姓')
parser.add_argument('--name', type=str,help='名')

args = parser.parse_args()
# args, dynamic_args = parser.parse_known_args()

print(args)
print(dynamic_args)

命令行示例:
python XXX.py --family 张 --name 三 --test hello
结果:
args = parser.parse_args() # 报错, error: unrecognized arguments: --test 5
args, dynamic_args = parser.parse_known_args() # 成功返回

补充:python中的argparse基本用法

1、argparse是一个python模块,用途是:命令行选项、参数和子命令的解释。

2、使用步骤:

  • 导入argparse模块,并创建解释器
  • 添加所需参数
  • 解析参数

3、用法示例:

import argparse

# 1.创建解释器
parser = argparse.ArgumentParser(description="可写可不写,只是在命令行参数出现错误的时候,随着错误信息打印出来。")
# 2.添加需要的参数
parser.add_argument('-gf', '--girlfriend', choices=['jingjing', 'lihuan'])
# 参数解释
# -gf 代表短选项,在命令行输入-gf和--girlfriend的效果是一样的,作用是简化参数输入
#--girlfriend 代表完整的参数名称,可以尽量做到让人见名知意,需要注意的是如果想通过解析后的参数取出该值,必须使用带--的名称
# choices 代表输入参数的只能是这个choices里面的内容,其他内容则会保错
parser.add_argument('--house', type=int, default=0)
# 参数解释
# --house 代表参数名称
# type  代表输入的参数类型,从命令行输入的参数,默认是字符串类型
# default 代表如果该参数不输入,则会默认使用该值
parser.add_argument('food')
# 参数解释
# 该种方式则要求必须输入该参数
# 输入该参数不需要指定参数名称,指定反而报错,解释器会自动将输入的参数赋值给food

# 3.进行参数解析
args = parser.parse_args()
print('------args---------',args)
print('-------gf-------', args.girlfriend)

4、命令行运行方式
假设上述文件的名字是gf.py
在命令行运行时,则有以下几种情况:

  • python gf.py potato ,这种方式会将potato赋值给food
  • python gf.py -gf jingjing tomato,该种方式会将jingjing赋值给girlfriend,tomato赋值给food
  • python gf.py --house 2 chicken,该种方式会将house赋值为2,food赋值为chicken

下面为以上三种情况的具体运行时截图:
a.

b.

c.

学会了以上的几种方式,argparse模块的基本用法也就掌握了。

到此这篇关于python命令行参数-argparse模块基本用法的文章就介绍到这了,更多相关python命令行参数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python解析命令行读取参数--argparse模块使用方法

    在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数.万能的python就自带了argprase包使得这一工作变得简单而规范.PS:optparse包是类似的功能,只不过写起来更麻烦一些. 如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利用sys.argv将脚本后的参数依次读取(读进来的默认是字符串格式).比如如下名为test.py的脚本: import sys print "Input argument is %s" %(sys.argv[0]

  • Python详解argparse参数模块之命令行参数

    目录 前言 示例一:最简参数对象 示例二:整数求和 示例三:文件是否被篡改 自定义类型 choices选项限定 required必选参数 子命令 前言 help(argparse)查看说明文档,“argparse - Command-line parsing library”我们可以知道是一个命令行解析库,是关于参数解析相关的一个模块. 示例一:最简参数对象 先来一段简单的代码,快速熟知下这个参数是个啥.保存为t.py这样一个文件 import argparse parser = argpars

  • 浅谈Python 命令行参数argparse写入图片路径操作

    什么是命令行参数? 命令行参数是在运行时给予程序/脚本的标志.它们包含我们程序的附加信息,以便它可以执行. 并非所有程序都有命令行参数,因为并非所有程序都需要它们. 为什么我们使用命令行参数? 如上所述,命令行参数在运行时为程序提供附加信息. 这允许我们在不改变代码的情况下动态地为我们的程序提供不同的输入 . 您可以绘制命令行参数类似于函数参数的类比.如果你知道如何在各种编程语言中声明和调用函数,那么当你发现如何使用命令行参数时,你会立刻感到宾至如归. 鉴于这是计算机视觉和图像处理博客,您在这里

  • Python 中使用 argparse 解析命令行参数

    目录 1.Python 中的参数解析 2.类型 3.子命令 4.程序架构 使用 argparse 模块为应用程序设置命令行选项. 有一些第三方库用于命令行解析,但标准库 argparse 与之相比也毫不逊色. 无需添加很多依赖,你就可以编写带有实用参数解析功能的漂亮命令行工具. 1.Python 中的参数解析 使用 argparse 解析命令行参数时,第一步是配置一个 ArgumentParser 对象.这通常在全局模块内完成,因为单单_配置_一个解析器没有副作用. import argpars

  • Python命令行参数解析包argparse的使用详解

    目录 一.argparse简介 二.简单案例 三.ArgumentParser参数 四.add_argument指令参数解释 五.vars() 一.argparse简介 argparse 是 python 自带的命令行参数解析包,可以用来方便的服务命令行参数,使用之前需要先导入包 import argparse 二.简单案例 简单使用,创建一个名为test.py的文件 # 导入 argparse 模块 import argparse # 创建一个argparse 的对象 parser = arg

  • python argparse命令行参数解析(推荐)

    argparse是python用于解析命令行参数和选项的标准模块. 很多时候,需要用到解析命令行参数的程序,目的是在终端窗口输入训练的参数和选项. argparse 模块可以让人轻松编写用户友好的命令行接口. 程序定义它需要的参数,然后 argparse 将弄清如何从 sys.argv 解析出那些参数. argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息. test.py # -*- coding: utf-8 -*- import argparse #

  • Python命令行参数argv和argparse该如何使用

    概述 运行python脚本时通过命令行方式传入运行参数通常有以下两种自建方式: sys.argv - 简洁 argparse - 丰富,可自定义 下面详细说一下具体时使用 argv # test_argv.py import sys args = sys.argv print(f'args = {args}') >>> output ➜ git:(master) python3 test_argv.py args = ['test_argv.py'] ➜ git:(master) ✗ p

  • python命令行参数argparse模块基本用法详解

    目录 一.传入一个参数 二.传入多个参数 三.改变数据类型 四.可选参数(关键字参数) 五.参数默认值 六.参数解析 补充:python中的argparse基本用法 argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数. 一.传入一个参数 import argparse # 创建一个命令行参数解析器 parser = argparse.ArgumentParser(description='命令行中传入一个数字') # 往解析器里面添加参数 parser.add_

  • Python脚本开发中的命令行参数及传参示例详解

    目录 sys模块 argparse模块 Python中的正则表达式 正则表达式简介 Re模块 常用的匹配规则 sys模块 在使用python开发脚本的时候,作为一个运维工具,或者是其他工具需要在接受用户参数运行时,这里就可以用到命令行传参的方式,可以给使用者一个比较友好的交互体验. python可以使用 sys 模块中的 sys.argv 命令来获取命令行参数,其中返回的参数是一个列表 在实际开发中,我们一般都使用命令行来执行 python 脚本 使用终端执行python文件的命令:python

  • python解析命令行参数的三种方法详解

    这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法:sys.argv.argparse解析.getopt解析 方法一:sys.argv -- 命令行执行:python test_命令行传参.py 1,2,3 1000 # test_命令行传参.py import sys def para_input(): print(len(sys.argv)) #

  • Python命令行参数化的四种方式详解

    目录 1. sys.argv 2. argparse 3. getopt 4. click 最后 大家好,在日常编写 Python 脚本的过程中,我们经常需要结合命令行参数传入一些变量参数,使项目使用更加的灵活方便 本篇文章我将罗列出构建 Python 命令行参数的 4 种常见方式 它们分别是: 内置 sys.argv 模块 内置 argparse 模块 内置 getopt 模块 第三方依赖库 click 1. sys.argv 构建命令行参数最简单.常见的方式是利用内置的「 sys.argv

  • python命令行参数解析OptionParser类用法实例

    本文实例讲述了python命令行参数解析OptionParser类的用法,分享给大家供大家参考. 具体代码如下: from optparse import OptionParser parser = OptionParser(usage="usage:%prog [optinos] filepath") parser.add_option("-t", "--timeout", action = "store", type =

  • Python中的命令行参数解析工具之docopt详解

    前言 docopt 是一个开源的库,代码地址:https://github.com/docopt/docopt.它在 README 中就已经做了详细的介绍,并且还附带了很多例子可供学习,这篇文章也是翻译一下 README 中内容-- docopt 最大的特点在于不用考虑如何解析命令行参数,而是当你把心中想要的格式按照一定的规则写出来后,解析也就完成了. docopt的安装 docopt有很多种版本,分别支持不同的语言,最简答的docopt支持python脚本,docopt.java支持java脚

  • Python命令行参数解析模块optparse使用实例

    示例 复制代码 代码如下: from optparse import OptionParser [...] def main():     usage = "usage: %prog [options] arg"     parser = OptionParser(usage)     parser.add_option("-f", "--file", dest="filename",                     

  • Python命令行参数解析模块getopt使用实例

    格式 getopt(args, options[, long_options]) 1.args表示要解析的参数. 2.options表示脚本要识别的字符.字符之间用":"分隔,而且必须要以":"后结尾,例如"a:b:c:". 3.long_options是可选的,如果指定的话,可以解析长选项.形式为字符串列表,如['foo=', 'frob='].长选项要求形式为"–name=value" 4.该方法返回2个元素.第一个元素是

  • python命令行参数用法实例分析

    本文实例讲述了python命令行参数用法.分享给大家供大家参考,具体如下: 在命令行下执行某些命令的时候,通常会在一个命令后面带上一些参数,这些参数会传递到程序里,进行处理,然后返回结果,在linux 下很多命令其实也是用python来实现的.那么如果做到在命令行输入类似如下的命令并能得到正确的解析呢,比如 python commandline.py -l c:/temp -f c:/aaa.txt 这样的命令,并在程序中进行处理.下面详细介绍处理办法. python为我们提供了一个模块叫opt

随机推荐