溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python使用argparse模塊處理命令行參數(shù)的方法

發(fā)布時間:2021-02-02 10:47:16 來源:億速云 閱讀:189 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹了Python使用argparse模塊處理命令行參數(shù)的方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

介紹

argparse是python3標準庫里用來處理命令行參數(shù)的模塊

使用三步走:

  • 創(chuàng)建 ArgumentParser() 對象

  • 調(diào)用 add_argument() 方法添加參數(shù)

  • 使用 parse_args() 解析添加的參數(shù)

實例

我們先來創(chuàng)建一個python文件

vim test.py

然后開始在輸入模式(i)下輸入代碼

import argparse # 導入模塊

parser = argparse.ArgumentParser() # 創(chuàng)建一個對象
parser.add_argument("square", help="pls enter a num", type=int) # 增加一個叫square的參數(shù),類型必須是int
parser.add_argument("input_str", help="pls enter a string", type=str) # 增加一個叫input_str的參數(shù),類型必須是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!

如果要查看文件的參數(shù)信息

python test.py -h

如果要設定可選參數(shù)

parser = argparse.ArgumentParser()
parser.add_argument("--argument1", “-arg1”, help="display the first argument", type=int) # 參數(shù)名前加--,取別名為-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)

執(zhí)行一下

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

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

如果要設定必選參數(shù)

使用required

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

參數(shù)還可以是文件

parser.add_argument('file', type=argparser.FileType('r')) # 讀取文件
parser.add_argument('file', default='text.txt', type=argparser.FileType('r')) # 讀取文件,預定義參數(shù)

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python使用argparse模塊處理命令行參數(shù)的方法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI