argparse常用用法講解

2021-10-08 05:27:57 字數 1818 閱讀 8771

在看開源的python**的時候,經常發現命令列輸入和解析的例子,比如我當前呼叫的pointnet的原始碼,也是這樣,平時總是手動將引數輸入在編譯器裡,但是這次我準備把這個命令列輸入好好學習一下

argparse是專門用於從命令列中解析引數的乙個庫,舉乙個例子,如下**:(檔名為:exam_argparse.py)

import argparse

parser = argparse.argumentparser()

parser.add_argument('--year', default='2020')

parser.add_argument('--month', default='07')

args = parser.parse_args()

print(args)

在命令列中直接執行

python ./utils/exam_argparse.py
輸出為:

namespace(month='07', year='2020')
如果加入引數呢?比如下邊:

python ./utils/exam_argparse.py --year 1999 --month 12
輸出為:

namespace(month='12', year='1999')
這樣輸出的對應引數就被修改了,其實我們也可以為乙個引數設定好幾個引數名,比如這樣寫:

import argparse

parser = argparse.argumentparser()

parser.add_argument('--year','-y', default='2020')

parser.add_argument('--month','-m', default='07')

args = parser.parse_args()

print(args)

實際上這樣就等於year和y是對應的乙個值的不同名字,而且前邊的短橫線個數要對應,以下輸入是等價的:

python ./utils/exam_argparse.py --year 1999 --month 12

python ./utils/exam_argparse.py -y 1999 -m 12

除此以外,引數的獲取也很簡單,可以直接呼叫,如下:(只能呼叫第乙個帶有兩個短橫線的引數)

import argparse

parser = argparse.argumentparser()

parser.add_argument('--year','-y', default='2020')

parser.add_argument('--month','-m', default='07')

args = parser.parse_args()

print(args)

print(args.year)

print(args.month)

輸出:

namespace(month='12', year='1999')

1999

12

希望大家看完後也可以愉快的實現命令列的解析

CRUL常用用法

1 儲存http結果 curl o page.html 2設定 curl x 123.45.67.89 1080 o page.html 3 自動填寫使用者名稱密碼 curl u name passwd ftp ip port path file 4上傳檔案 curl t localfile u n...

grep awk sed常用用法

sed指令碼是乙個sed的命令清單,啟動sed時以 f選項引導指令碼檔名。sed對於指令碼中輸入的命令非常挑剔,在命令的末尾不能有任何空白或文字,如果在一行中有多個命令,要用分號分隔。以 開頭的行為注釋行,且不能跨行。7.小技巧 在sed的命令列中引用shell變數時要使用雙引號,而不是通常所用的單...

NSStringg常用用法

建立乙個新字串並將其設定為 path 指定的檔案的內容,使用字元編碼enc,在error上返回錯誤 id stringwithcontentsofurl nsurl url encoding nsstringencoding enc error nserror error 建立乙個新字串並將其設定為...