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指令碼命令列
- 常用指令碼:獲取隱含引數指令碼
- python獲取命令列引數的程式碼Python命令列
- python獲取頁面亂碼時的處理Python
- Redis 快取常見問題處理Redis快取
- 使用python指令碼傳遞引數:(三種方式可收藏)Python指令碼
- shell指令碼中main函式中$#獲取不到指令碼傳入引數個數淺析指令碼AI函式
- 幾種常見的延遲執行處理方式
- URL引數獲取/轉碼
- 幾種方法命令列 批處理 指令碼 已經涵蓋了常見的設定 Windows 7 音量的方式命令列指令碼Windows
- Python Cookie HTTP獲取cookie並處理PythonCookieHTTP
- Python錯誤處理和異常處理(二)Python
- 異常-throws的方式處理異常
- Nginx 內容快取及常見引數配置Nginx快取
- 【Azure Redis 快取】使用Python程式碼獲取Azure Redis的監控指標值 (含Powershell指令碼方式)Redis快取Python指標指令碼
- Flutter處理Webview與H5通訊的常見方式FlutterWebViewH5
- gin框架獲取請求引數的8大方式框架
- 什麼是異常?python處理異常的方式有幾種?Python
- python指令碼處理偽靜態注入Python指令碼
- Bash 指令碼:`(反引號)運算子和 $()的使用方式指令碼
- Oracle 獲取整數方式程式碼整理Oracle
- 異常處理方式throws
- 20 個防禦性的 CSS 處理方式,很細節很常見,也很容易被忽略的處理方式CSS
- shell的引數和指令碼流程改進指令碼
- Spring註解之@ExceptionHandler 統一異常處理和獲取方法名SpringException
- Python教程分享:Python Cookie HTTP獲取cookie並處理PythonCookieHTTP
- Python程式設計中一些常見的錯誤和處理方法Python程式設計
- gofiber: 獲取引數Go
- 獲取url上的引數
- 常見的Javascript獲取時間戳JavaScript時間戳
- 3、python指令碼處理偽靜態注入Python指令碼
- Python異常處理 try、except和else的使用Python
- Python對數字的千分位處理方式Python
- Python——異常處理Python
- Python異常處理Python
- MyBatis 引數處理MyBatis
- meterpreter常見指令碼介紹指令碼