Python 中使用optparse進行引數解析

2022-08-12 16:09:15 字數 1600 閱讀 7642

使用過linux/unix的人都會知道,命令列下的很多命令都需要引數,在c語言中新增和解析引數比較繁瑣。python中提供了optparse模組可以非常方便地處理命令列引數。

1  命令列引數的樣子

我們一般在使用命令列程式的時候,可能會看到大約這樣的樣子(這是我寫的乙個簡單命令列幫助列表):

usage: run.py [options] args

options:

--version show program'

s version number and exit

-h, --help show this help message and

exit

-c client_num, --clients=client_num

number of clents

-t time, --time=time test time in seconds

在c語言中,我們可能需要使用printf來列印所有的內容,但是請注意上面的內容不是手動列印的,而是optparse自動生成的。下面一點一點來解釋這個過程。

2 optparse簡單使用過程

當然,首先得匯入模組:

from optparse import optionparser

我們一般使用的是optparse的optionparser類。

例項化乙個optionparse類,在例項化時可以實現上面命令列幫助資訊中的第一行:

usage = "

usage: %prog [options] args

"parser = optionparser(usage,version="

%prog 0.1

")

簡單解釋一下。我們可以向optionparser傳入引數,上面傳入的是usage和version。當然不傳入引數也是可以的。常用引數有:

usage:就是展示的第一行內容,預設是「%prog [options]」

version:傳入這個引數可以讓幫助資訊增加--version選項,用來顯示定義的軟體版本資訊。

description:描述這個程式。

add_help_option:這個引數產生-h選項來顯示幫助資訊,預設是開啟的。

prog:可以看到上面使用了%prog,這個就是產生所執行的程式的程式名。(在我的例子裡是run.py)

然後,我們需要新增必要的選項資訊。

parser.add_option("

-c", "

--clients

",dest="

client_num

",help="

number of clents

")

使用add_option可以新增選項。具體使用方法見:

這樣我們就向程式新增了選項,有了選項我們就該根據選項進行相應的操作了。

(options, args)=parser.parse_args()

得到option和args後再根據值進行相應的操作。

非常簡單,非常好用。

和 在python中使用

給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 和 nums2 不會同時為空。示例 1 nums1 1 3 nums2 2 則中位數是 2.0 示例 2 nums1 1 2 ...

python中使用bp Python ocbp包

概述ocbpy是乙個python模組,它可以在aacgm座標和磁性之間進行轉換。相對於開闊地調整緯度和當地時間的座標系 閉合場線邊界 ocb 這對統計特別有用 磁極的研究,其中相對於固定磁座標的網格劃分 系統會導致不同物理區域的平均值,例如極光 和極冠測量。此座標繫在 chisham,g.2017 ...

在python中使用websocket

介紹一款很帥的外掛程式autobahnpython,通過它可以在python中很方便的使用websocket進行通訊 基於twisted框架 這個外掛程式真正強大的地方是它提供了乙個 發布 訂閱模式,具體內容有空再寫,先簡單介紹一下如何建立傳統的連線。建立伺服器 必須的模組 from twisted...