摘要:問題與現狀通常情況下,我們都會使用這樣的手段來獲取腳本的輸入參數。
問題與現狀
通常情況下,我們都會使用sys.argv[n]這樣的手段來獲取python腳本的輸入參數。這樣做的缺點如下:
1 參數輸入和獲取必須嚴格按照順序
2 在獲取參數的同時需要寫一點額外的代碼對輸入參數進行簡單的合法性檢查
3 在輸入參數過多(通常情況下項目構建時入參很多,尤其是當各個腳本解耦充分的情況下)導致向其他函數傳遞的參數過多,而通常一個函數的參數最好不要超過7個
4 如果該python腳本是對外發布給別人用的,則用戶不清楚該腳本如何使用,必須在readme文檔說明,而每次查看readme文檔對用戶來說過于繁瑣。
優勢:
1 不需要安裝,直接import argparse即可
2 使用簡單,基本用法如下:
def get_args(): parser = argparse.ArgumentParser(description="this is a calculator") # 腳本描述 parser.add_argument("--num1", help="input num1") # add_argument()指定程序可以接受的命令行選項 parser.add_argument("--num2", help="input num2") # add_argument()指定程序可以接受的命令行選項 parser.add_argument("--et", help="excute type", choices=["+", "-"]) #choices 用于約束用戶行為 args = parser.parse_args() return args
3 使用方法對用戶友好,可以通過默認的--help查看腳本的簡單使用方法
python argparse_test.py --help usage: argparse_test.py [-h] [--num1 NUM1] [--num2 NUM2] [--et {+,-}] this is a calculator optional arguments: -h, --help show this help message and exit --num1 NUM1 input num1 --num2 NUM2 input num2 --et {+,-} excute type
4 參數傳遞簡單,只用傳遞args這個對象,并且通過.操作符就可以獲取到輸入參數,例如args.et
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/43011.html
此篇文章主要是闡述了搭建Pythonargv的4種比較常見方式方法,文章內容緊扣主題進行詳盡的基本介紹,具有很強的實用價值,務必的朋友可以學習一下。 序言 小伙伴們好,在平時的撰寫Python腳本制作的過程當中,我們通常需要根據argv傳到某些自變量主要參數,使新項目應用更加靈便便捷。 分別是: 內嵌sys.argv控制模塊 內嵌argparse控制模塊 內嵌getopt模塊 第...
在平時的撰寫Python腳本制作的過程當中,我們通常需要根據查詢參數傳到某些自變量主要參數,使新項目應用更加靈便便捷。本文列舉了搭建Python查詢參數的4種普遍方法,所需要的可以了解一下 小伙伴們好,在平時的撰寫Python腳本制作的過程當中,我們通常需要根據查詢參數傳到某些自變量主要參數,使新項目應用更加靈便便捷 本文我們將列舉出搭建Python查詢參數的4種普遍方法 分別是: 內...
在平時的撰寫Python腳本制作的過程當中,我們通常需要根據查詢參數傳到某些自變量基本參數,使新項目應用更加靈便便捷。本文列舉了搭建Python查詢參數的4種普遍方法,所需要的可以了解一下小伙伴們好,在平時的撰寫Python腳本制作的過程當中,我們通常需要根據查詢參數傳到某些自變量基本參數,使新項目應用更加靈便便捷 本文我們將列舉出搭建Python查詢參數的4種普遍方法 分別是: 內嵌s...
摘要:一項目說明項目簡介本次實驗通過使用實現一個弱口令掃描器開始,入門滲透測試技術,實驗涉及協議原理,庫的使用等知識點。找到密碼并不會終止程序,而是會繼續掃描其他主機的弱口令,直到所有的主機都掃描一遍。 showImg(https://segmentfault.com/img/bVz0PF); 一、項目說明 1.1 項目簡介 本次實驗通過使用 Python 實現一個 FTP 弱口令掃描器開始...
閱讀 2943·2021-10-18 13:33
閱讀 846·2019-08-30 14:20
閱讀 2631·2019-08-30 13:14
閱讀 2521·2019-08-29 18:38
閱讀 2890·2019-08-29 16:44
閱讀 1212·2019-08-29 15:23
閱讀 3484·2019-08-29 13:28
閱讀 1916·2019-08-28 18:00