Python指令碼的常見引數獲取和處理方式
平常寫 python 指令碼時會有一些從命令列獲取引數的需求,這篇文章記錄下常見的引數獲取和處理方式。
1.使用 args 獲取引數
使用 sys.argv[] 可以接收指令碼的引數,得到一個列表型別,列表第一個元素是指令碼名稱,通過 sys.argv[1:] 得到命令列傳進來的所有引數。
程式碼示例:
test_args.py
import sys
argv = sys.argv[1:]
print("args==argv==", argv)
程式碼執行效果:
2.使用 getopt 處理命令列傳入的引數
getopt 是專門用來處理命令列引數,使用格式大概為getopt(args, shortopts, longopts = []),其中引數 args 一般是sys.argv[1:]
, shortopts 是短格式引數 (-),longopts 是長格式引數(–)
程式碼示例:
'''
遇到問題沒人解答?小編建立了一個Python學習交流QQ群:778463939
尋找有志同道合的小夥伴,互幫互助,群裡還有不錯的視訊學習教程和PDF電子書!
'''
test_args.py
argv = sys.argv[1:]
print("args==argv==", argv)
options, args = getopt.getopt(sys.argv[1:], "hd:n:", ["help", "date=", "name="])
print("args==getopt==",options, "options=====", args)
程式碼執行結果:
3.標準庫 argsparse
argsparse 是 python 的命令列解析的標準模組,內建於python,不需要安裝。這個庫可以讓我們直接在命令列中就可以向程式中傳入引數並讓程式執行。
程式碼示例:
'''
遇到問題沒人解答?小編建立了一個Python學習交流QQ群:778463939
尋找有志同道合的小夥伴,互幫互助,群裡還有不錯的視訊學習教程和PDF電子書!
'''
test_args.py
import argparse
parser = argparse.ArgumentParser(description='ArgUtils')
parser.add_argument('-d', type=str, default='000000', help="data date")
parser.add_argument('-a', type=str, default=None, help="agent_id_from_platform id")
args = parser.parse_args()
在 add_argument
函式中,第一個引數是指令碼引數傳入名稱;type 是限制傳入引數的型別;default 為引數設定預設值;required 設定引數是否為必傳。
程式碼執行效果:
總得來說,args相容性比較強,可以接收任意方式的傳參,getopt 對傳入引數進行了分組,argparse 則使傳入的引數可讀性更高,支援的功能多一些。
相關文章
- 常用指令碼:獲取隱含引數指令碼
- Python 處理指令碼的命令列引數(二):使用clickPython指令碼命令列
- Python 處理指令碼的命令列引數(三):使用argparsePython指令碼命令列
- Shell 引數的讀取和處理
- request的請求引數獲取方式
- python獲取命令列引數的程式碼Python命令列
- python獲取頁面亂碼時的處理Python
- Redis 快取常見問題處理Redis快取
- 幾種常見的延遲執行處理方式
- RDSforMySQLMysqldump常見問題和處理ORMMySql
- shell指令碼中main函式中$#獲取不到指令碼傳入引數個數淺析指令碼AI函式
- 引號的處理方式
- sqlserver 針對預處理sql傳入引數的處理方式SQLServer
- 使用python指令碼傳遞引數:(三種方式可收藏)Python指令碼
- 幾種方法命令列 批處理 指令碼 已經涵蓋了常見的設定 Windows 7 音量的方式命令列指令碼Windows
- Nginx 內容快取及常見引數配置Nginx快取
- bash shell 讀取引數檔案常見方法
- python指令碼傳引數argvPython指令碼
- 異常-throws的方式處理異常
- TCL指令碼讀取命令列引數指令碼命令列
- RFT的異常處理方式
- Python 指令碼之獲取CPU資訊Python指令碼
- gin框架獲取請求引數的8大方式框架
- Flutter處理Webview與H5通訊的常見方式FlutterWebViewH5
- Oracle 獲取整數方式程式碼整理Oracle
- js如何獲取url所傳遞的引數和引數值JS
- Python錯誤處理和異常處理(二)Python
- nginx的lua取引數方式Nginx
- Python xlrd讀取excel異常處理PythonExcel
- JNI異常處理和快取策略快取
- Python Cookie HTTP獲取cookie並處理PythonCookieHTTP
- 異常處理方式throws
- GoldenGate常見異常處理Go
- 20 個防禦性的 CSS 處理方式,很細節很常見,也很容易被忽略的處理方式CSS
- python 獲取函式的所有引數列表:locals()Python函式
- 常見的Javascript獲取時間戳JavaScript時間戳
- 常見的檔案處理命令
- 人形動畫常見IK的處理動畫