Python—Argparse
argparse 是 python 用于解析命令行参数和选项的标准模块,用于代替已经过时的optaparse模块。argparse模块的作用是用来解析命令行参数。
使用步骤
首先导入该模块
创建一个解析对象
import argparse parser = argparse.ArgumentParser()
在该对象中添加你需要的命令行参数,和选项
parser.add_argument("--square", type=int, help = "display a square of a given number") # parser.add_argument("-v", "--verbosity", type=int, choices=[0,1,2], help="increase output verbosity") parser.add_argument("-v", "--verbosity", action="count", default = 0, help="increase output verbosity")
每一个add_argument()对应一个你要关注的参数或选项;
最后调用parse_args()方法进行解析
args = parser.parse_args()
举例1:
默认情况下,有一个help的命令
import argparse parser = argparse.ArgumentParser() parser.parse_args()
输出结果:
添加响应的指令行选项:
import argparse parser = argparse.ArgumentParser() parser.add_argument("Haha", help = "echo the string you use here") args = parser.parse_args() print(args.Haha)
结果如下,回显你写下的内容。
举例2:
计算平方,并且选择表现形式
import argparse parser = argparse.ArgumentParser() parser.add_argument("--square", type=int, help = "display a square of a given number") parser.add_argument("-v", "--verbosity", action="count", default = 0, help="increase output verbosity") args = parser.parse_args() ans = args.square**2 if args.verbosity >= 2: print(f"the square of {args.square} equals {ans}") elif args.verbosity >= 1: print(f"{args.square}^2 == {ans}") else: print(ans)
注意这个action,可选 count 判断参数个数,(注意,此处还使用了default,来保证若不输入值则默认为0)
运行后得到结果为:
action里还可以选用其他不同的属性值。
也可以不用action,使用choices,例如choices=[0,1,2]
本文作者:Jev_0987
本文链接:https://www.cnblogs.com/jev-0987/p/15530487.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步