交互网页设计代码 第1篇
add_argument()方法用来创建解析参数,定义对参数具体的解析,其原型如下:
add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
参数有:
name或者flags - 名称或选项字符串列表,必填写项。例如foo或-f, --foo。
action - 在命令行中遇到此参数时要采取的操作类型。
nargs – 要使用的命令行参数的数量,用通配符号表示,比如_*_,_+_和_?_,分别表示不限数量,至少一个和一个参数。
const - 一些动作和 nargs 选择所需的常量。
default - 如果参数在命令行中不存在,则默认使用的值。
type - 命令行参数应该转换的类型,默认为字符串string
choices – 可选项, 一个允许参数值的容器。
required - 是否可以省略命令行选项(仅对可选项)。
help - 帮助提示信息,用来对参数进行必要的描述。
metavar – 帮助消息替代参数的显示名称。
dest - 要添加到parse_args()函数返回对象的属性的名称。
交互网页设计代码 第2篇
我们首先从官方的数字计算程序小例子来开始:
代码解释:
首先,通过()创建一个解析对象;
接着,给对象添加两个参数,用add_argument()方法。比如本例中是一个type为一个或者一列整数;还有一个目标为accumulate属性用来选择两个函数sum()和max()求和和求最大值,默认为求最大值。
然后,通过parse_args()函数解析对象的参数,并把各个参数解析为合适的类型(int,accumulate),触发对应的行为(sum,max)。
最后通过print打印结果。
使用方法如下:
交互网页设计代码 第3篇
最后我们节选一个著名sql注入渗透工具sqlmap的部分代码,来展示一个大型软件中,如何实际通过argparser来构建起命令行界面的。基本上也跟上面流程方法一样,不过额外使用一些函数和功能。
全部代码详见sqlmap github官方仓库:
(github /sqlmapproject/sqlmap/blob/master/lib/parse/)
本文我们实例介绍了python下构建优雅终端命令行界面两种方法Click和argparser。善用他们可以为我们的代码工作减少很多繁琐的命令行参数的定义和解析过程,提高编码的效率。