python命令列引數解析工具 argparse

2021-09-25 02:21:09 字數 1289 閱讀 6529

在命令列中執行py檔案的時候(這在linux系統中尤為常見),是否可以像執行內部的函式那樣設定可變引數呢?這樣做可以避免進入py檔案再次編寫檔案的尷尬,同時也意味著減少bug的發生。

argparse就是這樣可以在幫助在命令列中新增引數的工具,基本的使用方法如下**所示:

# -*- coding: utf-8 -*- 

import math

import argparse

# argparse.argumentparser建立乙個引數容器

parser = argparse.argumentparser(description= 'parser是存放引數的容器')

# add_argument增加可選引數,

parser.add_argument('radius', type=int, help='圓柱體半徑')

parser.add_argument('height', type=int, help='圓柱體高度')

# 解析引數

args = parser.parse_args()

def cylinder_vol(radius, height):

"""計算圓柱體體積"""

vol = (math.pi) * (radius ** 2) * (height)

return vol

if __name__== '__main__':

print (cylinder_vol(args.radius, args.height))

之後我們要做的,就是在執行程式時加上引數(半徑2,高度3):

執行結果如下:

當然,有時候由於引數太多,我們可能會記錯引數的位置,那麼給定引數名再賦值會是個更好的選擇。我們只需要在add_argument的引數名之前加入--即可,比如 radius 改為 --radius:

parser.add_argument('--radius', type=int, help='圓柱體半徑')

parser.add_argument('--height', type=int, help='圓柱體高度')

執行**命令:

python test.py --radius=2 --height=2
結果為:

25.132741228718345
關於argparse的其它一些用法,諸如引數命名縮寫等等,可以查閱參考資料中的講解,這裡就不多說了。

python解析命令列引數

使用乙個先進的模組名為argparse,跟unix程式的命令列引數很像。直接對code做個筆記 import sys import argparse def main args print first name directory s args.first name print first para...

解析命令列引數

include include include include int make argv const char astr,const char delimiters,char argvp void free argv char argvp int main int argc,char argv i...

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

一 介紹 argparse 是python 中用於解析命令列引數和選項的標準模組。簡單的形容就是你寫完python程式之後,在終端下 linux系統 可以用命令列直接呼叫執行,並且可以設定相應的引數等等。二 如何使用 說太多廢話無用,我們需要掌握的是如何使用,能看懂別人寫的 即可。太多的理論知識作用...