本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理
以下文章來源于碧茂大資料 ,作者碧茂大資料
前言
平常寫 python 腳本時會有一些從命令列獲取引數的需求,這篇文章記錄下常見的引數獲取和處理方式,
1.使用 args 獲取引數
使用 sys.argv[] 可以接收腳本的引數,得到一個串列型別,串列第一個元素是腳本名稱,通過 sys.argv[1:] 得到命令列傳進來的所有引數,
代碼示例:
test_args.py import sys argv = sys.argv[1:] print("args==argv==", arg
v)
代碼執行效果:
2.使用 getopt 處理命令列傳入的引數
getopt 是專門用來處理命令列引數,使用格式大概為getopt(args, shortopts, longopts = []),其中引數 args 一般是sys.argv[1:], shortopts 是短格式引數 (-),longopts 是長格式引數(–)
代碼示例:
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,不需要安裝,這個庫可以讓我們直接在命令列中就可以向程式中傳入引數并讓程式運行,
代碼示例:
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 則使傳入的引數可讀性更高,支持的功能多一些,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/180398.html
標籤:Python
