美文网首页
3.命令行参数

3.命令行参数

作者: 皮蛋是个臭蛋 | 来源:发表于2023-09-10 20:33 被阅读0次

python中有以下内置模块函数用于处理命令行参数

sys:获取和python解释器相关的信息,可通过dir()查询模块内定义的所有名称。使用方法:import sysgetopt

getopt

optparse

argparse

1.sys命令行参数

sys.argv:是以列表的方式获取运行python程序的命令行参数。

 sys.argv[0]指python 程序本身(*.py);

sys.argv[1]指程序第一个参数

sys.argv[2]指程序第2个参数

sys.argv[0]表示程序文件本身文件名(含路径)

sys.argv[1:]表示运行命令的第二个到最后一个参数

sys.argv 表示运行命令的全部参数

sys.argv[]用法

2.getopt命令行参数

getopt是对sys.argv获取的命令行参数进行二次处理

def getopt(args, shortopts, longopts = []):

###

args和shortopts属于必传参数,longopts为非必传参数

shortopts是必传参数,不可省略,传入''也行

params:args是用来解析的命令行字符串,通常为sys.argv[1:]

params:shortopts是用来匹配命令行中的短参数,为字符串类型

parmas:longopts是用来匹配命令行中的长参数,为列表类型

return:opts为列表嵌套元组类型,用来存放解析好的参数和值(暨是(选项,选项值)的元组为一个元素的列表,如果没有选项值为空字符串)
元组(),列表[]

return:args为列表类型,用来存放不匹配的命令行参数  

###

return opts, args

###

短参数的调用方式为:-参数名(空格)值 

长参数的调用方式为:--参数名=值

###


getopt()使用 案例

短格式选项说明

: 代表选项后面需要接一个值

:: 代表选项后面接一个可选值

长格式选项说明

= 代表选项后面需要接一个值

本次知识点可参考博客:https://www.cnblogs.com/Alfred-HOO/articles/16629580.html

3.optparse命令行参数

optparse模块主要用来为脚本传递参数,采用预先定义好的选项来解析命令行参数怕,与getopt函数不同点是optparse可以自动生成帮助信息。

该模块使用add_option() 来加入选项,使用 parse_args() 来解析命令行

add_option(self, *args, **kwargs)中的参数含义

第一个参数表示option的缩写,以单个中划线引导,例如-f、-d,只能用单个字母,可以使用大写;

第二个参数表示option的全拼,以两个中划线引导,例如--file、--Opencv_version;

第一第二个参数可以单独使用,也可以同时使用,但必须保证有其中一个;

从第三个参数开始是命名参数,是可选参数,常用的几个:

type=: 表示输入命令行参数的值的类型,默认为string,可以指定为string, int, choice, float,complex其中一种;

default=: 表示命令参数的默认值;

metavar=: 显示到帮助文档中用来提示用户输入期望的命令参数;

dest=:指定参数在options对象中成员的名称,如果没有指定dest参数,将用命令行参数名来对options对象的值进行存取。

help=:  显示在帮助文档中的信息;

解析命令行:(options, args) = parse.parse_args()或(options, args) = parser.parse_args(argv)

options,是一个对象,保存命令行参数值。通过命令行参数名,如 file,访问其对应的值: options.file ;

args,是一个由 positional arguments 组成的列表;

optparse模块的使用

4.argparse命令行参数

argparse是optparse模块的升级版。argparse主要包含ArgumentParser类和一些其他有用的子模块,常见的子模块有argparse.ArgumentParser.add_argument()方法、argparse.ArgumentParser.parse_args()方法和argparse.Namespace类。argparse.ArgumentParser类用于解析命令行参数,它提供了add_argument()方法来定义命令行参数的类型、默认值、帮助信息、特定行为和许多其他属性

add_argument()方法包含多个参数,最常用的参数如下:

name or flags(参数名):字符串或列表,用来定义参数的名字或选项(例如"--input" 或 "-i")。参数名和选项名必须以"--"或"-"开头。

type(参数类型):指定参数的类型,如int、float、str和bool。

default(默认值):指定参数的默认值,如果没有设置此参数,则表示参数是必需的。

help(帮助信息):用来描述参数的帮助信息,当用户输入"--help"时,会显示此信息。

action(特定行为):定义参数的特定行为,如store、store_true、store_false等。

nargs:用于指定参数数量,如"?"表示0或1个参数,"*"表示0或多个参数,"+"表示1或多个参数

dest=:指定参数在parse对象中成员的名称

argparse.ArgumentParser.parse_args()方法用于解析命令行参数,并返回一个包含所有参数值的命名空间对象

案例 结果

相关文章

  • 九、处理用户输入

    简单目录 1.命令行参数 2.处理命令行选项和命令行参数参数 3.read命令获取用户输入 1.命令行参数 在命令...

  • HDFS命令行操作

    二.HDFS命令行操作: 1.基本语法 2.参数大全 3.常用命令 (1)-help:输出这个命令参数 (2)-l...

  • 常用的npm包

    命令行参数处理 nodejs 脚本,命令行参数处理,接受参数parse 可以使用 minimist 参数提示 co...

  • 特殊变量列表

    特殊变量列表 命令行参数 运行脚本时传递给脚本的参数称为命令行参数。命令行参数用 $n 表示,例如,$1 表示第一...

  • Java 命令行参数解析类库

    命令行参数解析类库1命令行参数解析类库2命令行参数解析类库3 JArgsJakarta Commons CLITE...

  • pflag命令行参数

    简介 本文讲解如何在go程序中使用命令行参数包pflag来获取gong语言编写的命令行程序的传入参数。 命令行参数...

  • 第14章:处理用户输入

    [TOC] #1. 命令行参数 向shell脚本传递数据的最基本方法是使用命令行参数。命令行参数允许在运行脚本时向...

  • flag

    编写命令行程序时会使用不同的启动参数(命令行参数)来控制程序的行为 Go编写命令行程序时,获取并解析命令行参数的方...

  • 2.2.7 shell位置参数与特殊变量

    命令行参数

  • spyder 连接数据库 module 'pymysql

    一、命令行安装 1.命令行输入 2. 检验是否安装成功 3. 连接数据库 以上的参数是必填的 host: 这个是i...

网友评论

      本文标题:3.命令行参数

      本文链接:https://www.haomeiwen.com/subject/jvvsvdtx.html