攝影:產品經理
廚師: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,讓你的命令行參數更容易。