我是靠谱客的博主 甜美冥王星,最近开发中收集的这篇文章主要介绍python基础——命令行参数argparser模块的使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

首先解释下什么是参数解析,因为很多情况下python程序或者是shell脚本都是运行在linux的命令行环境下的。这时,可不是简单的运行下就可以的,有的还需要加入必要的参数。

————————————————————————————————————————————

参数解析的意义

python python_argparser.py echo

主要针对在命令行下开发程序,运行之后将参数解析,并且输出 echo alright。

python python_argparser.py 3(其实对应程序中的参数x

比如还可以在程序中进行某些计算,例如此处可以print args.x**2,输出结果9。

参数解析大概就是这种用法。

python的argparse模块

argparse,它是Python标准库中推荐使用的编写命令行程序的工具。

使用命令行程序,感觉相当好,不用再花大把时间去研究界面问题,尤其是vc++中尤其繁琐。

argparse是一个完整的参数处理库。参数可以根据add_argument()action选项触发不同action。默认动作是存储参数值。支持type(指定存储类型)和dest(指定存储变量)等参数。

支持的action有存储参数(单个,或作为列表的一部分);存储常量的值(对布尔开关true/false有特殊处理)。

然后使用函数parse_args()进行参数解析,这个函数的输入默认是sys.argv[1:],也可以使用其他字符串列表。

import argparse
parser = argparse.ArgumentParser()
parser.add_argument()

name or flags:该参数接受选项参数或者是位置参数(一串文件名,表示文件所在的位置),如上面的address或者-p, –port.

parser.add_argument('-f', '--foo')
#选项参数
parser.add_argument('/bar')
#位置参数
parser.add_argument('-u',nargs=2)
parser.parse_args('-u a b'.split()) 

输出结果如下

Namespace(u=['a', 'b'])

argparse模块的主要函数

parser.parse_args()

解释:首先导入该模块;然后创建一个解析对象;

然后向该对象中添加你要关注的命令行参数和选项,每一个add_argument方法对应一个你要关注的参数或选项;

最后调用parse_args()方法进行解析;解析成功之后即可使用,下面简单说明一下步骤2和3。

步骤2

parser.add_argument 用于添加可用参数, 所有需要调用的参数都需要利用该函数进行添加。
支持形如 ‘-t’, ‘–tcp’ 这两种参数长短语法。

parser.add_argument("echo")

这次,我们增加了一个add_argument()方法,用来设置程序可接受的命令行参数。现在要运行程序,就必须设置一个参数。

步骤3

parse_args()方法实际上从我们的命令行参数中返回了一些数据,在上面的例子中是echo
这个像“魔法”一样的过程,是argparse自动完成的

parser.add_argument("square", help="display a square of a given number", type=int)

尽管自动产生的帮助信息展示地很美观,但是我们仍然无法只根据echo这个参数知道它是做什么的。所以,我们增加了一些东西help=”“,使得它变得更有用。

改变输入参数类型

这个程序并不能正确运行,因为argparse会将输入当作字符串处理,所以我们需要设置它的类型(type=int)。

最后

以上就是甜美冥王星为你收集整理的python基础——命令行参数argparser模块的使用的全部内容,希望文章能够帮你解决python基础——命令行参数argparser模块的使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部