#Python# #编程措辞#
下一篇:
Python传参工具argparse实现可选参数与默认参数值

在Linux中,我们常常会用--help去查看一个工具的利用方法,例如:
查看awk命令帮助
通过这个命令(准确点说是参数),我们可以看到软件作者写出的利用帮助,这样能让大众更快的上手,话不多说,我们直接来实践吧!
我们首先看一下没有“帮助”的脚本是若何的。
我们平常利用的程序都是看不到源码的,纵然看到源码,大部分人都是看不懂,那么这时候若何才能让看不懂的人去利用你的工具呢?例如下面这个
无帮助信息
在没有任何帮助信息也没有源码的情形下,除了作者,没人能知道这个工具怎么用
加上帮助信息我们可以设置判断用户传入的第一个参数是否须要帮助,例如传入:--help ,然后打印利用帮助,演示如下:
有帮助信息
这样子,你的程序就比较好用了,但是利用这样的传参还是不太专业的,下面就来理解一下什么是专业的传参
上面的程序源码
利用argparse处理传参
利用过MySQL的人都知道,我们利用命令登录的时候,可以通过-u、-p这种办法传入账号密码,这样的程序是目前普遍采取的一种传参处理办法,在Python种,我们可以通过argparse模块去实现(本文以先容为主,利用教程不是一篇两篇就能写完的)
调用帮助信息
根据帮助信息传入参数
import argparseif __name__ == '__main__': #all_info :吸收所有传入的信息 all_info = argparse.ArgumentParser(description="设置登录信息") all_info.add_argument('-u','--user',type=str, help="设置一个用户名,例如 -u li", required=True) all_info.add_argument('-p','--password', type=str, help="设置一个密码,例如 -p 111111", required=True) all_info.add_argument('-H','--host', type=str, help="设置主机地址,例如 -H baidu.com ",required=True) all = all_info.parse_args() print("传入的所有信息(命名空间)如下:", all) ##下面开始拆分信息,all.xxx中,xxx为上面定义的--后面的字符串 name = all.user password = all.password Host = all.host print("用户名:[%s]\n密码:[%s]\n主机:[%s]\n" %(name,password,Host))
这样写的脚本/程序看起来是不是更专业,更加的大略了呢?关注我可以获取更多Python,Shell,Linux等干系小知识,对这些感兴趣的也可以看我往期文章
脚本分享-通过python脚本进行批量telnet连通性测试
你写Python还用print?来看下这个更好的工具吧
Python-for与字典的合营,灵巧对传参进行修正
Python通过replace实现sed更换功能