import argparse
def getArgs():
parser = argparse.ArgumentParser(description="Demo of argparse")
parser.add_argument('-n','--name', default=' Li ')
parser.add_argument('-y','--year', default='20')
args = parser.parse_args()
print(args)
name = args.name
year = args.year
print('Hello {} {}'.format(name,year))
if __name__ == '__main__':
getArgs()
我們先導入了argparse這個包,然後包中的ArgumentParser類生成一個parser對象,其中的description描述這個參數解析器是幹什麼的。
接着我們通過對象的add_argument函數來增加參數。這裡我們增加了兩個參數name和year,其中’-n’,’–name’表示同一個參數,default參數表示我們在運作指令時若沒有提供參數,程式會将此值當做參數值。
最後采用對象的parse_args擷取解析的參數,當’-‘和’–'同時出現的時候,系統預設後者為參數名,前者不是,但是在指令行輸入的時候沒有這個區分。
當執行指令python fun_test.py -n Wang --year '26’結果如下:
Namespace(n = 'Wang', year = '26')
Hello Wang 26