python 命令列解析工具argparse的認識

2021-09-10 04:00:31 字數 3731 閱讀 6710

(一)介紹

argparse 是python 中用於解析命令列引數和選項的標準模組。簡單的形容就是你寫完python程式之後,在終端下(linux系統)可以用命令列直接呼叫執行,並且可以設定相應的引數等等。

(二)如何使用

說太多廢話無用,我們需要掌握的是如何使用,能看懂別人寫的**即可。太多的理論知識作用不大,重要的是看懂、會用!!!

1、基本結構

在pycharm中新建乙個testmodel.py,然後輸入下面的程式:

import argparse

parser = argparse.argumentparser()

#parser.add_argument("echo",help="echo the string")

parser.parse_args()

這是argparse最基本的結構。

然後你在終端下執行:

$ python testmodel.py -h 

usage: testmodel.py [-h]

optional arguments:

-h, --help show this help message and exit

它什麼也不做,只是輸入提示「-h或者–help 來顯示資訊」。可以看到雖然什麼沒有做,它都能和使用者很好的互動,可見受到歡迎的原因了。

2、引數介紹

認識了基本結構之後,我們看一下引數的介紹。

import argparse ——匯入模組,使用命令解析必須匯入該模組。

parser = argparse.argumentparser() ——建立解析器物件,當然可以新增引數,用來描述程式。

eg:

parser=argparse.argumentparser(description="this is a example program ")
description 是描述改程式的作用的,this is a example program 是可以隨便改的。

add_argument()方法 ——用來指定程式需要接受的命令引數。這句話是很重要的,因為你的所有命令都是在這裡新增的。這裡涉及到了位置引數和可選引數:

就是類似這樣的就叫位置引數:

parser.add_argument("echo",help="echo the string")
類似這樣的叫可選引數(其實就是在第乙個引數前加上- -)

parser.add_argument("--echo",help="echo the string")
定位引數必選,可選引數可選!意思是如果你在程式中加了定位引數,那麼你在命令列必須傳入定位引數的值(自己設定的),但是可選引數你可以通過- -來選擇執行。

通過** 來展示:

(1)這裡是計算乙個數的平方,用定位引數:

import argparse

parser=argparse.argumentparser()

parser.add_argument("square",help="display a square of a given number",type=int) #type是設定型別int,預設是字元型。

# parser.add_argument("--cubic",help="display a cubic a given number",type=int )

args=parser.parse_args()

print (args.square**2)

#檢視資訊

$ python testmodel.py -h

usage: testmodel.py [-h] square

positional arguments:

square display a square of a given number

optional arguments:

-h, --help show this help message and exit

#計算4的平方,結果:

python testmodel.py 4

16

(2)用可選引數

import argparse

parser=argparse.argumentparser()

parser.add_argument("--square",help="display a square of a given number",type=int)

# parser.add_argument("--cubic",help="display a cubic a given number",type=int )

args=parser.parse_args()

print (args.square**2)

#檢視操作資訊

python testmodel.py --h

usage: testmodel.py [-h] [--square square]

optional arguments:

-h, --help show this help message and exit

--square square display a square of a given number

#計算4的平方

python testmodel.py --square 4

16

到這裡我們就能發現定位引數和可選引數的區別了,定位引數直接輸入 4,然後執行。可選引數需要輸入設定的可選引數square 4。這也是可選二字的原因。

3、可選引數多種情況

import argparse

parser = argparse.argumentparser()

parser.add_argument("--square", help="display a square of a given number", type=int)

parser.add_argument("--cubic", help="display a cubic of a given number", type=int)

args = parser.parse_args()

if args.square:

print(args.square**2)

if args.cubic:

print(args.cubic**3)

執行結果:

$ python testmodel.py --help

usage: testmodel.py [-h] [--square square] [--cubic cubic]

optional arguments:

-h, --help show this help message and exit

--square square display a square of a given number

--cubic cubic display a cubic a given number

$ python testmodel.py --square 2

4$ python testmodel.py --cubic 2

8

ok,到這裡差不多就對python的命令列解析有了一定的了解了。快放假了,寫寫部落格打發不想科研的時間。

Python 命令列解析工具 Argparse介紹

最近在研究pathon的命令列解析工具,argparse,它是python標準庫中推薦使用的編寫命令列程式的工具。以前老是做ui程式,今天試了下命令列程式,感覺相當好,不用再花大把時間去研究介面問題,尤其是vc 中尤其繁瑣。現在用python來實現命令列,核心計算模組可以用c自己寫擴充套件庫,效果挺...

python命令列引數解析工具 argparse

在命令列中執行py檔案的時候 這在linux系統中尤為常見 是否可以像執行內部的函式那樣設定可變引數呢?這樣做可以避免進入py檔案再次編寫檔案的尷尬,同時也意味著減少bug的發生。argparse就是這樣可以在幫助在命令列中新增引數的工具,基本的使用方法如下 所示 coding utf 8 impo...

C 命令列解析工具

我將告訴大家兩個方法去獲取c 輸入的命令列引數。第乙個方法 林選臣大神寫的,他的方法很簡單。首先複製兩個類到專案 public class commandlineargumentparser public static commandlineargumentparser parse string a...