解读Python脚本的常见参数获取和处理方式

目录

Python脚本常见参数获取和处理

1. 使用args获取参数

2. 使用getopt处理命令行传入的参数

3. 标准库argsparse

Python脚本获取外部参数

方式1

方式2

Python脚本常见参数获取和处理

平常写 python 脚本时会有一些从命令行获取参数的需求,这篇文章记录下常见的参数获取和处理方式。

1. 使用args获取参数

使用 sys.argv[] 可以接收脚本的参数,得到一个列表类型,列表第一个元素是脚本名称,通过 sys.argv[1:] 得到命令行传进来的所有参数。

代码示例:

test_args.py import sys argv = sys.argv[1:] print("args==argv==", argv)

代码执行效果:

2. 使用getopt处理命令行传入的参数

getopt 是专门用来处理命令行参数,使用格式大概为getopt(args, shortopts, longopts = []),其中参数 args 一般是sys.argv[1:], shortopts 是短格式参数 (-),longopts 是长格式参数(–)

代码示例:

''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' test_args.py argv = sys.argv[1:] print("args==argv==", argv) options, args = getopt.getopt(sys.argv[1:], "hd:n:", ["help", "date=", "name="]) print("args==getopt==",options, "options=====", args)

代码执行结果:

3. 标准库argsparse

argsparse 是 python 的命令行解析的标准模块,内置于python,不需要安装。这个库可以让我们直接在命令行中就可以向程序中传入参数并让程序运行。

代码示例:

''' 遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! ''' test_args.py import argparse parser = argparse.ArgumentParser(description='ArgUtils') parser.add_argument('-d', type=str, default='000000', help="data date") parser.add_argument('-a', type=str, default=None, help="agent_id_from_platform id") args = parser.parse_args()

在 add_argument函数中,第一个参数是脚本参数传入名称;type 是限制传入参数的类型;default 为参数设置默认值;required 设置参数是否为必传。

代码执行效果:

总得来说,args兼容性比较强,可以接收任意方式的传参,getopt 对传入参数进行了分组,argparse 则使传入的参数可读性更高,支持的功能多一些。

Python脚本获取外部参数 方式1

使用sys模块获取参数,比较简单

import sys print("python文件名: ", sys.argv[0]) print("第1个参数: ", sys.argv[1]) print("第2个参数: ", sys.argv[2]) # 传参方式 python test.py arg1 arg2 方式2

如果参数较多,参数有默认值,建议使用argparse模块,阅读性更高。

可以定义参数类型、默认值。

import argparse # 设置参数名 parser = argparse.ArgumentParser() parser.add_argument("-username", dest="username", type=str) parser.add_argument("-password", dest="password", type=str) parser.add_argument("-date", dest="date", type=str, default='2021-01-01') # 获取参数 args = parser.parse_args() username = args.username password = args.password date = args.date # 传参方式 python test.py -username=xxx -password=xxx

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易知道(ezd.cc)。

推荐阅读

    opporeno8参数配置及价格

    opporeno8参数配置及价格,面部,亿元,Oppo的荣誉2020年1月4日,接近屏幕关闭传感器是否支持双卡:支持oppor11splus什么时候上市的Oppo R11S P

    魅蓝note6性能参数有哪些

    魅蓝note6性能参数有哪些,摄像头,蓝牙,魅蓝note6性能参数有哪些魅力蓝色Note6最好拍照。电池寿命更长。蓝色Note6使用高通 snapdragon 625

    IE脚本错误如何做Web脚本错误解决技巧

    IE脚本错误如何做Web脚本错误解决技巧,,这个问题是由于这样的事实,对网页的HTML源代码和客户端脚本不正确的工作,如微软Jscript或Visual Basic脚本

    设置总账参数|用友u8设置总账参数

    设置总账参数|用友u8设置总账参数,,1. 用友u8设置总账参数1、首先要点开数据权限控制设置;2、选择想要设置控制的单据;3、打开后看到左上角

    csgo参数设置|csgo怎么保存

    csgo参数设置|csgo怎么保存,,csgo怎么保存第一步下载csgo的官方版本。然后再下载一个5e对战平台,PS:5e的账号和csgo的账号不是一个账号。第

    移动apn设置|移动apn设置参数

    移动apn设置|移动apn设置参数,,移动apn设置参数1、打开手机系统设置界面应用,点击页面中的“移动网络”设置选项。2、进入移动网络设置页面

    均线最佳设置|均线最佳参数设置

    均线最佳设置|均线最佳参数设置,,1. 均线最佳参数设置所有指标包括kd macd均线,是根据已有价格计算得出,看指标落后于看价格分析,也就是k线。

    viv0nex参数配置|viv0x60参数

    viv0nex参数配置|viv0x60参数,,1. viv0nex参数配置运行内存:6GB机身容量:128GB电池类型:锂聚合物电池2. viv0x60参数没有15+256,所谓的15是内存