【TensorFlow】01 TensorFlow簡介與Python基礎
981
2025-04-04
橡皮擦,一個逗趣的互聯網高級網蟲。
本篇博客將為你帶來 10 個 Python 中的參數解析庫,Python 自帶的這些【模塊軍火庫】,一定要了解,畢竟多掌握一個庫,你解決問題的時候就多了一條路。
文章目錄
何為參數解析庫
sys.argv
getopt 內置的參數解析庫
docopt 參數解析庫
optparse 參數解析庫
argparse 參數解析庫
click 參數解析庫
fire 參數解析庫
typer 參數解析庫
Commando 參數解析庫
FLAGS 參數解析庫
寫在后面
何為參數解析庫
在對 Python 一段小腳本運行的時候,通過 python test.py 參數1 參數2 參數3 形式,可以向 Python 腳本內部傳遞參數,用于解析參數的庫就是參數解析庫。
sys.argv
最傳統的寫法,也是 Python 內置的內容,例如下述代碼:
import sys print(sys.argv)
1
2
當你通過下述命令運行 Python 腳本時,就可以獲取到一個 list 類型的參數列表。
python test.py 1 2 3
1
getopt 內置的參數解析庫
對于 sys.argv 而言,得到的只是一個列表,通過 getopt 參數解析庫,可以獲取參數。
getopt 庫中核心的函數是 getopt.getopt(),具體參數與使用方式,可以參見滾雪球系列這篇文章。
docopt 參數解析庫
一個優雅的命令行模塊,可以通過 https://github.com/docopt/docopt 進行學習與使用。
optparse 參數解析庫
optparse 解析器的命令行選項,3.2 版后 optparse 模塊已被棄用并不再繼續開發;接力棒,轉移到了 argparse 模塊。
學習如何使用,可以參考:https://docs.python.org/zh-cn/3/library/optparse.html#module-optparse
argparse 參數解析庫
通過 pip install argparse 對該庫進行安裝,使用方式也比較簡單,官方對其的定義是,命令行選項、參數和子命令解析器。
學習如何使用,可以參考:https://docs.python.org/zh-cn/3/library/argparse.html
click 參數解析庫
Click 是 Flask 的開發團隊 Pallets 的一款開源項目,它是用于快速創建命令行的第三方模塊。
官方地址與使用方式,參考 github:https://github.com/pallets/click
fire 參數解析庫
fire 用于從任何 Python 對象自動生成命令行接口,只需對 Fire 進行一次調用,即可將任何 Python 組件轉變為命令行界面。
該工具庫是谷歌開源的。
開源地址:https://github.com/google/python-fire
typer 參數解析庫
Typer 是一個用于構建 CLI 應用程序的庫。
文檔: https://typer.tiangolo.com
代碼: https://github.com/tiangolo/typer
Commando 參數解析庫
基于 argparse 的封裝,允許使用裝飾器的方式定義命令和參數。
開源地址:https://github.com/hyde/commando
FLAGS 參數解析庫
如果你在做深度學習相關方向,尤其經常使用 Tensorflow,那 FLAGS 是一款必備的命令行工具。
該模塊的使用需要基于 Tensorflow 了,故放在最后一趴。
寫在后面
這些優質的第三方庫,橡皮擦給大家的推薦順序是:fire-> click -> argparse -> **getopt **。
這兩個項目在 github 上的超高 star,也證明了大家對其的認可。
本篇博客并未對所有的庫進行展開說明,畢竟掌握一個庫,已經是基于該庫可以解決你的問題。
相關閱讀
Python 爬蟲 100 例教程,超棒的爬蟲教程,立即訂閱吧
Python 游戲世界(更新中,目標文章數 50+,現在訂閱,都是老粉)
Python 爬蟲小課,精彩 9 講
今天是持續寫作的第
121
/ 200 天。
如果你想跟博主建立親密關系,可以關注同名公眾號
夢想橡皮擦
,近距離接觸一個逗趣的互聯網高級網蟲。
博主 ID:夢想橡皮擦,希望大家
、
評論
、
。
AI Python
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。