摄影:产品经理
厨师:kingname
咱们有时候须要使用 Python 开发一些命令行工具,并在运行命令的时候指定一些参数,例如:html
python3 xxx.py --name kingname --salary 999999
对于简单的,只有几个参数的工具,咱们能够使用 sys.argv来获取。python
若是咱们还须要在参数里面输出帮助信息,而且同时兼顾两种格式:ide
python3 xx.py --name=kingname --salary=999 python3 xxx.py --name kingname --salary=999
那么使用 sys模块就很差用了。此时咱们能够使用 argparse。可是若是你阅读它的官方文档:https://docs.python.org/zh-cn/3/howto/argparse.html,你就会发现 argparse写起来仍是有点麻烦。函数
那么有没有简单的方法实现命令行参数呢?答案就是 fire这个库。工具
首先咱们来安装一下它:命令行
python3 -m pip install fire
而后咱们来实现一个简单的支持命令行的程序:code
import fire def intro(name, salary): print(f'个人名字是:{name}, 个人月薪是{salary}') if __name__ == '__main__': fire.Fire(intro)
这段代码支持三种调用方法,以下图所示:htm
使用参数 python3 test_fire.py--help能够看到自动生成的帮助信息:blog
若是漏掉了某些信息,那么就会报错:ip
那么若是有些参数可要可不要怎么办呢?也很是简单,给函数参数带上默认值便可,例如:
import fire def intro(name='产品经理', salary=88888): print(f'个人名字是:{name}, 个人月薪是{salary}') if __name__ == '__main__': fire.Fire(intro)
运行效果以下图所示:
使用 fire,让你的命令行参数更容易。