Python如何使用argparse模块处理命令行参数

这篇文章主要介绍了Python如何使用argparse模块处理命令行参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

介绍

argparse是python3标准库里用来处理命令行参数的模块

使用三步走:

  • 创建 ArgumentParser() 对象
  • 调用 add_argument() 方法添加参数
  • 使用 parse_args() 解析添加的参数

实例

我们先来创建一个python文件

vim test.py

然后开始在输入模式(i)下输入代码

import argparse # 导入模块

parser = argparse.ArgumentParser() # 创建一个对象
parser.add_argument("square", help="pls enter a num", type=int) # 增加一个叫square的参数,类型必须是int
parser.add_argument("input_str", help="pls enter a string", type=str) # 增加一个叫input_str的参数,类型必须是str
args = parser.parse_args() # 解析
print(args.square ** 2)
print(args.input_str)

然后,让我们来运行一下

python test.py 3 "I am a string!"
# 结果是:
# 9
# I am a string!

如果要查看文件的参数信息

python test.py -h

如果要设定可选参数

parser = argparse.ArgumentParser()
parser.add_argument("--argument1", “-arg1”, help="display the first argument", type=int) # 参数名前加--,取别名为-arg1
parser.add_argument("--argument2", choices=[5,10,20], help="display the second argument", type=int) # choices 为限定候选列表
args = parser.parse_args()

print(args)
if args.argument1 and args.argument2:
  print(args.argument1 + args.argument2)

执行一下

python test.py
# Namespace(argument1=None, argument2=None)

python test.py -arg1 3 --argument2 5
# Namespace(argument1=3, argument2=5)
# 8

如果要设定必选参数

使用required

parser.add_argument("--num", type=int, required=True, help="must enter a num")

参数还可以是文件

parser.add_argument('file', type=argparser.FileType('r')) # 读取文件
parser.add_argument('file', default='text.txt', type=argparser.FileType('r')) # 读取文件,预定义参数

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解Python命令行解析工具Argparse

    最近在研究pathon的命令行解析工具,argparse,它是Python标准库中推荐使用的编写命令行程序的工具. 以前老是做UI程序,今天试了下命令行程序,感觉相当好,不用再花大把时间去研究界面问题,尤其是vc++中尤其繁琐. 现在用python来实现命令行,核心计算模块可以用c自己写扩展库,效果挺好. 学习了argparse,在官方文档中找到一篇toturial,简单翻译了下. http://docs.python.org/2/howto/argparse.html#id1 Argparse

  • python argparser的具体使用

    一.正常运行: 咱们随便写个文件: # test.py import argparse ap = argparse.ArgumentParser() ap.add_argument('-i', '--image', help='传入图片文件') args = vars(ap.parse_args()) print(args) 咱们运行一下: python test.py --image './test.png' python test.py -i './test.png' 没问题吧: {'ima

  • Python编程argparse入门浅析

    本文研究的主要是Python编程argparse的相关内容,具体介绍如下. #aaa.py #version 3.5 import os #这句是没用了,不知道为什么markdown在编辑代码时,不加这一句,就不能显示代码高亮[汗] import argparse parser = argparse.ArgumentParser(description='Process some integers...') #初始化一个分析器 #parser.add_argument(中的参数) #__init

  • Python的argparse库使用详解

    argparse是python标准库里面用来处理命令行参数的库 命令行参数分为位置参数和选项参数: 位置参数就是程序根据该参数出现的位置来确定的 如:[root@openstack_1 /]# ls root/    #其中root/是位置参数 选项参数是应用程序已经提前定义好的参数,不是随意指定的 如:[root@openstack_1 /]# ls -l    # -l 就是ls命令里的一个选项参数. 基本使用 import argparse # 创建解析器 parser = argpars

  • Python解析命令行读取参数之argparse模块

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

  • Python argparse模块应用实例解析

    这篇文章主要介绍了Python argparse模块应用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 简介 argparse是python用于解析命令行参数和选项的标准模块.argparse模块的作用是用于解析命令行参数. 使用步骤 1.首先导入该模块 2.然后创建一个解析对象 3.然后向该对象中添加你要关注的命令行参数和选项,每一个add_argument方法对应一个你要关注的参数或选项 4.最后调用parse_args()方法进行

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

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

  • python中argparse模块用法实例详解

    本文实例讲述了python中argparse模块用法.分享给大家供大家参考.具体分析如下: 平常在写命令行工具的时候,经常会带参数,所以用python中的argparse来实现. # -*- coding: utf-8 -*- import argparse args = "-f hello.txt -n 1 2 3 -x 100 -y b -z a -q hello @args.txt i_am_bar -h".split() # 使用@args.txt要求fromfile_pref

  • Python参数解析模块sys、getopt、argparse使用与对比分析

    一些命令行工具的使用能够大大简化代码脚本的维护成本,提升复用性,今天主要是借助于python提供的几种主流的参数解析工具来实现简单的功能,主要是学习实践为主,这是新年伊始开工的第一篇,还是花了一番功夫来完成写作的和实验的,希望能够帮到需要的朋友们,新的一年里,祝大家心想事成! 好了,废话不多说,下面进入正文. Python中有三个内建的模块用于处理命令行参数: 第一个:sys,最简单,只能够提供简单的参数解析功能 第二个:getopt,只能简单的处理命令行参数 ,较sys封装更好一点 第三个:a

  • Python如何使用argparse模块处理命令行参数

    这篇文章主要介绍了Python如何使用argparse模块处理命令行参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍 argparse是python3标准库里用来处理命令行参数的模块 使用三步走: 创建 ArgumentParser() 对象 调用 add_argument() 方法添加参数 使用 parse_args() 解析添加的参数 实例 我们先来创建一个python文件 vim test.py 然后开始在输入模式(i)下输入代码

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

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

  • Python 获得命令行参数的方法(推荐)

    本篇将介绍python中sys, getopt模块处理命令行参数 如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢? 需要模块:sys 参数个数:len(sys.argv) 脚本名:    sys.argv[0] 参数1:     sys.argv[1] 参数2:     sys.argv[2] test.py import sys print "脚本名:", sys.argv[0] for i in range(1, len(sy

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

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

  • Python的命令行参数实例详解

    目录 0.命令行参数 1.sys.argv 2.getopt 2.1getopt.getopt方法 2.2Exceptiongetopt.GetoptError 3.argparse 总结 0. 命令行参数 通常,对于大型项目程序而言,执行程序的一个必要的步骤是正确处理命令行参数,这些命令行参数是提供给包含某种参数化信息的程序或脚本的参数.例如,在计算机视觉项目中,图像和不同类型的文件通常作为命令行参数传递给脚本,用于使程序可以处理不同图片或者不同类型文件. 命令行参数是参数化程序执行的一种常见

  • 构建 Python 命令行参数的 4 种常见方式

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

  • Python 利用argparse模块实现脚本命令行参数解析

    study.py内容如下 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'shouke' import argparse def argparseFunc(): ''' 基于argparse模块实现命令参数解析功能 执行示例: python study.py -i 172.19.7.236 -p 8080 -a -r python study.py --ip 172.19.7.236 --port 7077 --auth -w

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

    目录 一.预备知识 1.安装 2.使用的一般步骤 二.实操笔记 1.函数详解 1.1ArgumentParser 1.2add_argument 2.调用实例 一.预备知识 argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行参数. 1.安装 argsparse是python的命令行解析的标准模块,内置于python,不需要安装.使用的时候直接: import argparse 2.使用的一般步骤 这

  • Python argparse模块实现解析命令行参数方法详解

    argparse是Python的一个标准模块,用于解析命令行参数,即解析sys.argv中定义的参数.实现在:传送门 argparse模块还会自动生成帮助和使用信息,即在最后加-h或--help.当用户输入的参数无效时,会触发error,并给出出错原因. python test_argparse.py -h python test_argparse.py --help 使用argparse的步骤: 1.创建解析器:argparse.ArgumentParser(),ArgumentParser是

  • python argparse 模块命令行参数用法及说明

    目录 先上代码 下面针对一些特殊点再作详述 程序用法帮助 argparse 是 python 的一个命令行解析包,可根据需要编写高可读性的程序. 网上的许多教程较为冗长和散漫,没有达到精练好掌握的目的,本文针对项目中对 argparse 的用法,用实例对各个参数进行讲解,力求达到让读者秒懂的目的. 先上代码 import argparse if __name__ == '__main__': # 创建命令行解析器句柄,并自定义描述信息 parser = argparse.ArgumentPars

随机推荐