【Python】Python命令行參數(shù)解析神器:argparse
公眾號:尤而小屋
作者:Peter
編輯:Peter
argparse是用來解析命令行參數(shù)的Python庫。當(dāng)我們在代碼中自定義了參數(shù),使用該庫能夠自動解析出來。

未使用argparse
比如我們現(xiàn)在想通過一個函數(shù)來實現(xiàn)打印某個人的個人信息。如果不使用argparse,我們可以這樣寫:
def main():
name = input("input your name: ")
age = input("input your age: ")
height = input("input your height: ")
print(f"My name is {name}, {age} years old and I'm {height}.")
return None
if __name__ == "__main__":
main()
后面你在運行的時候需要每次輸入不同的數(shù)據(jù)來運行這個功能:

使用argparse

import argparse
def main():
# 創(chuàng)建參數(shù)
parser = argparse.ArgumentParser(description="Argparses使用說明") # 調(diào)用ArgumentParser類,并添加描述說明
parser.add_argument('-n','--name',default="Peter") # 添加不同的參數(shù) -n表示參數(shù)的簡寫 --name表示全稱 default后面跟的是默認(rèn)值
parser.add_argument('-y', '--year',default="18")
parser.add_argument('-t','--height',default='175')
# 實例化一個parser對象
args = parser.parse_args()
# 從實例化對象中調(diào)用不同的參數(shù)
name = args.name
year = args.year
height = args.height
# 使用參數(shù)執(zhí)行print
print(f'My name is {name},{year} years old. I am {height}')
if __name__ == '__main__':
main()
保存成test.py文件。
1、在終端中直接運行語句,不帶任何參數(shù):運行結(jié)果就是默認(rèn)值

2、帶上參數(shù)執(zhí)行:可以是全稱也可以是簡寫

3、通過內(nèi)置的-h還可以查看參數(shù)信息:

更多詳細(xì)資料參考官網(wǎng):https://docs.python.org/3/library/argparse.html
往期精彩回顧
適合初學(xué)者入門人工智能的路線及資料下載 (圖文+視頻)機器學(xué)習(xí)入門系列下載 機器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印 《統(tǒng)計學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 機器學(xué)習(xí)交流qq群955171419,加入微信群請掃碼
評論
圖片
表情
