(一)介紹
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...