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 则使传入的参数可读性更高,支持的功能多一些。
本文来自博客园,作者:I'm_江河湖海,转载请注明原文链接:https://www.cnblogs.com/jhhh/p/16761236.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通