1. 程式人生 > 程式設計 >Python如何使用argparse模組處理命令列引數

Python如何使用argparse模組處理命令列引數

這篇文章主要介紹了Python如何使用argparse模組處理命令列引數,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

介紹

argparse是python3標準庫裡用來處理命令列引數的模組

使用三步走:

  • 建立 ArgumentParser() 物件
  • 呼叫 add_argument() 方法新增引數
  • 使用 parse_args() 解析新增的引數

例項

我們先來建立一個python檔案

vim test.py

然後開始在輸入模式(i)下輸入程式碼

import argparse # 匯入模組

parser = argparse.ArgumentParser() # 建立一個物件
parser.add_argument("square",help="pls enter a num",type=int) # 增加一個叫square的引數,型別必須是int
parser.add_argument("input_str",help="pls enter a string",type=str) # 增加一個叫input_str的引數,型別必須是str
args = parser.parse_args() # 解析
print(args.square ** 2)
print(args.input_str)

然後,讓我們來執行一下

python test.py 3 "I am a string!"
# 結果是:
# 9
# I am a string!

如果要檢視檔案的引數資訊

python test.py -h

如果要設定可選引數

parser = argparse.ArgumentParser()
parser.add_argument("--argument1",“-arg1”,help="display the first argument",type=int) # 引數名前加--,取別名為-arg1
parser.add_argument("--argument2",choices=[5,10,20],help="display the second argument",type=int) # choices 為限定候選列表
args = parser.parse_args()

print(args)
if args.argument1 and args.argument2:
  print(args.argument1 + args.argument2)

執行一下

python test.py
# Namespace(argument1=None,argument2=None)

python test.py -arg1 3 --argument2 5
# Namespace(argument1=3,argument2=5)
# 8

如果要設定必選引數

使用required

parser.add_argument("--num",type=int,required=True,help="must enter a num")

引數還可以是檔案

parser.add_argument('file',type=argparser.FileType('r')) # 讀取檔案
parser.add_argument('file',default='text.txt',type=argparser.FileType('r')) # 讀取檔案,預定義引數

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。