python定制命令行参数(argparse的使用)

定制命令行参数(argparse的使用)---- 可自制命令行小工具

    • 前言
    • 实现环境
    • 实现过程

前言

最近做的命令解释程序,想做成一个小工具的形式,在linux中使用命令行就可以执行整个程序,使用到的是python提供的argparse模块。

实现环境

  • XShell6
  • python 2.7.5
  • linux 3.10.0-327.el7.x86_64

实现过程

  • 导入argparse包
    在python文件的头部增加import argparse
    python定制命令行参数(argparse的使用)_第1张图片
  • 初始化argparse实例
# 括号中还可以传递参数
psr = argparse.ArgumentParser()
  • 增加参数
    使用add_argument()方法增加参数或选项:
parser.add_argument("-m", nargs="+", help="Explanation of all parameters of single commands", dest="m", type=str)
parser.add_argument("-ml", nargs="+", help="Explanation of all parameters of a multiple command", dest="ml", type=str)
parser.add_argument("-e", nargs="+", help="Interpretation of current parameters of a single command", dest="e", type=str)
parser.add_argument("-el", nargs="+", help="Interpretation of current parameters of multiple commands", dest="el", type=str)
parser.add_argument("-o", nargs="?", help="operating system", dest="o", type=str)

参数说明

  1. nargs:表示参数设置的个数
参数值 描述
nargs=’*’ 表示参数可设置零个或多个
nargs=’+’ 表示参数可设置一个或多个
nargs=’?’ 表示参数可设置零个或一个
nargs=2 表示参数需要设置2个
nargs=n 表示参数需要设置n个
  1. help
    指定参数的说明信息。可以帮助使用者理解各个参数实现的是什么功能。
  2. dest
    设置参数在代码中的变量名。argparse中默认的变量名是–或-后面的字符串,但是也可以通过dest=xxx来设置参数的变量名,然后在代码中用args.xxx来获取参数的值。
  3. type
    指定参数类型,默认是str类型,如果需要传递其他参数类型需要指定,如:type=int
  4. default
    还可以设置defult,我这里没有设置。这是没有设置值情况下的默认参数。

如果想了解更多的参数信息,可以查看官方文档:https://docs.python.org/zh-cn/3/howto/argparse.html

  • 解析参数
    使用parse_args()方法进行设定的参数的解析。
args = parser.parse_args()

我这里将解析之后的参数存放在args中了。

  • 如何调用参数的值
    使用args.xxx即可调用某个参数的值,xxx表示参数的变量名。
    注意:这里的args是list类型,如果需要的是其他类型需要对其进行转换。比如若需要字符串类型的数据,可以使用.join()方法来进行转换。

  • 查看帮助信息

  1. 方法一
    在程序中输入psr.print_help(),再执行程序,即可查看帮助信息。
  2. 方法二
    设置好参数后在命令行使用-h参数查看帮助信息。
    python定制命令行参数(argparse的使用)_第2张图片

以上是我对argparse的理解基础上进行了总结,如果有需要补充或描述不准确的地方,欢迎指正^_^

你可能感兴趣的:(python,linux,xshell,python)