传参无论是程序开发还是脚本,都是必不可少的一个应用方法,通过传参能够让你的程序可以面向大众,最主要的是更灵活,兼容性更好,那么下面就带你体验一下。
点击末尾的了解更多即可访问源码
#Python# #编程语言#
下一篇:
Python传参工具argparse实现可选参数与默认参数值
常见的场景
在Linux中,我们经常会用--help去查看一个工具的使用方法,例如:
通过这个命令(准确点说是参数),我们可以看到软件作者写出的使用帮助,这样能让大众更快的上手,话不多说,我们直接来实践吧!
演示
没有帮助信息的程序
我们首先看一下没有“帮助”的脚本是怎样的。
我们平常使用的程序都是看不到源码的,即使看到源码,大部分人都是看不懂,那么这时候怎样才能让看不懂的人去使用你的工具呢?例如下面这个
在没有任何帮助信息也没有源码的情况下,除了作者,没人能知道这个工具怎么用
加上帮助信息
我们可以设置判断用户传入的第一个参数是否需要帮助,例如传入:--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]密码:[%s]主机:[%s]" %(name,password,Host))
这样写的脚本/程序看起来是不是更专业,更加的简单了呢?关注我可以获取更多Python,Shell,Linux等相关小知识,对这些感兴趣的也可以看我往期文章
脚本分享-通过python脚本进行批量telnet连通性测试
你写Python还用print?来看下这个更好的工具吧
Python-for与字典的配合,灵活对传参进行修改
Python通过replace实现sed替换功能