Python接收命令行参数的3种方法

文章目录

    • 基础知识
        • 命令行参数
        • 简单比较 3 种方法
    • argparse库的使用
        • 编写实例
    • 参考

基础知识

命令行参数

命令行参数模式: 在命令行参数中分为“-”和“–”两种模式。

对于短格式,"-"号后面要紧跟一个选项字母,如果还有此选项的附加参数,可以用空格分开,也可以不分开;(长度任意,可以用引号,如: -h -ls -l s 等等)

对于长格式,"–“号后面要跟一个单词,如果还有些选项的附加参数,后面要紧跟”=",再加上参数。("="号前后不能有空格,如: --input=data.txt)

简单比较 3 种方法

名称 说明
sys库 最简单,只能够提供简单的参数解析功能
getopt库 只能简单的处理命令行参数 ,较sys封装更好一点
argparse库 更加容易的编写用户友好的命令行接口

argparse库的使用

主要参考 argparse模块用法实例详解 ,讲解得很详细很厉害。

import argparse

parser = argparse.ArgumentParser(description='命令行中传入一个数字')
#type是要传入的参数的数据类型  help是该参数的提示信息
parser.add_argument('integers', type=str, help='传入的数字')

args = parser.parse_args()

#获得传入的参数,输出内容 Namespace(integers='5')
print(args)

parser.parse_args()是一个类似于python字典的数据类型。关于添加参数的相关参数用法如下。

位置参数是固定顺序的,所以经常用到可选参数,有点像关键词传参,需要加 ---,这两种方式可以同存,也可以只存在一个。

- -
位置参数键名 ‘integers’
类型 type=str, int
参数数量 nargs=’+’,表示至少一个参数
必须参数 required=True
可选参数 “-v”, “–verbosity”, 调用使用args.v
默认参数 default
参数说明 help=‘xx’

编写实例

def shellAccept():
    '''
    预定义命令行参数,接收并存储
    必须参数:None
    可选参数:
    -u / --URL
    -t / --threads
    -v / --version
    @return:返回获取到的命令行参数args,以数据字典格式
    '''
    try:    # 异常处理
        parser = argparse.ArgumentParser(description="传入命令参数")
        parser.add_argument("-u", "--URL", type=str, help="待测试的URL")
        parser.add_argument("-t", "--threads", type=str, help="线程数")
        parser.add_argument("-v", "--version", type=str, help="工具版本号")
        args = parser.parse_args()  # 获取参数字典
        return args
    except Exception as e:
        print(e)

参考

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

python获取命令行参数的方法(汇总)

argparse — 命令行选项、参数和子命令解析器

argparse模块用法实例详解 ,讲解得很详细很厉害。

你可能感兴趣的:(Python,Web,python,开发语言,后端)