python getopt模塊使用實(shí)例解析
這篇文章主要介紹了python getopt模塊使用實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
官方介紹地址: https://docs.python.org/3.1/library/getopt.html
實(shí)用方向:
處理命令行參數(shù)的一個(gè)方法,簡(jiǎn)單好用。
方法:
getopt模塊總共有2個(gè)函數(shù),分別為:
- getopt.getopt
- getopt.gnu_getopt
簡(jiǎn)單使用:
getopt這個(gè)函數(shù)常用,簡(jiǎn)單看一下這個(gè)函數(shù)的使用:
getopt.getopt(args, shortopts, longopts=[])
看這幾個(gè)參數(shù),
args為:腳本接受的參數(shù),傳入為list類型,此處與sys.argv連并使用
shortopts:短參數(shù)。就是參考:python3 test.py -v ,這個(gè)-v就是需要用到的短參數(shù)。
longopts=[]:長(zhǎng)參數(shù)。就是參考:python3 test.py --v,兩個(gè)-的就是需要用到的長(zhǎng)參數(shù)。
先簡(jiǎn)單有一個(gè)印象。
那后面需要用到的參數(shù)怎么傳入,怎么處理呢?
參數(shù)處理:
import sys import getopt opts = getopt.getopt(sys.argv[1:],"-h",["help"]) print(opts)
我們?cè)诿钚信芤幌拢?/p>
GL$python3 111.py --help
([('--help', '')], [])
GL$python3 111.py -h
([('-h', '')], [])
打印了如上的內(nèi)容,我們依次看一下
1、我們?yōu)槭裁匆胹ys.argv[1:]呢?是因?yàn)榈?個(gè)是函數(shù)本身,所以接受除本身之外的所以參數(shù)
2、返回的是一個(gè)tuple,第一個(gè)list我們可以理解是傳入的--h,加到了一個(gè)list里,第二個(gè)list則是-h后面加的參數(shù),這里沒(méi)有加,所以為空
下面來(lái)實(shí)踐一下:
import getopt
import sys
opts,args = getopt.getopt(sys.argv[1:],'-h-w:-v',['help','version'])
for opt_name,opt_value in opts:
if opt_name in ('-h','--help'):
print(opt_name,"this is help")
exit()
if opt_name == '-w':
print("-w:",opt_value)
exit()
if opt_name in ('-v','--version'):
print('version:0.01')
exit()
運(yùn)行起來(lái)看看:
GL$python3 111.py -w 123-w: 123GL$python3 111.py -h -h this is help GL$python3 111.py -v version:0.01GL$python3 111.py --help --help this is help
由上,又出現(xiàn)了個(gè)新東西,shortopts里面怎么多了個(gè)冒號(hào)呢??那個(gè)是干啥的?
其實(shí),從上面的例子也可以簡(jiǎn)單看出來(lái),加冒號(hào)意思就是-w后面要加參數(shù),不加冒號(hào)就不用加參數(shù),longopts也是一樣,冒號(hào)用等號(hào)代替。
好,這里都已經(jīng)有些了解了。那么后面的args,是干啥的呀。還有opts又是干啥的呀。
opts 就是分析出的格式信息。args 為不屬于格式信息的剩余的命令行參數(shù)。
opts 是一個(gè)兩元組的列表。(選項(xiàng)串, 附加參數(shù)) 。如果沒(méi)有則為空。
下面看例子:
我們?cè)谧铋_(kāi)頭打印args,也就是加一行 print(args),我就不貼代碼了。
運(yùn)行起來(lái):
GL$python3 111.py --help ssss ['ssss'] --help this is help/GL$python3 111.py -w 123 123 ['123'] -w: 123
多余的未識(shí)別的就成了args里面的內(nèi)容了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python字符串特性及常用字符串方法的簡(jiǎn)單筆記
這篇文章主要介紹了Python字符串特性及常見(jiàn)字符串方法的簡(jiǎn)單筆記,為一些Pyhton入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-01-01
python實(shí)現(xiàn)批量下載新浪博客的方法
這篇文章主要介紹了python實(shí)現(xiàn)批量下載新浪博客的方法,涉及Python頁(yè)面抓取的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-06-06
Python進(jìn)階篇之多線程爬取網(wǎng)頁(yè)
這篇文章主要為大家介紹了Python進(jìn)階中利用多線程來(lái)爬取網(wǎng)頁(yè)的示例實(shí)現(xiàn)及解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10
Django中URLconf和include()的協(xié)同工作方法
這篇文章主要介紹了Django中URLconf和include()的協(xié)同工作方法,Django是Python眾人氣框架中最著名的一個(gè),需要的朋友可以參考下2015-07-07
Python如何使用Pandas庫(kù)從Excel文件中提取數(shù)據(jù)
今天我要分享一個(gè)超級(jí)實(shí)用的Python技巧:如何用pandas庫(kù)從Excel文件中提取我們需要的數(shù)據(jù)列,這個(gè)技能在工作中特別有用,比如處理學(xué)生成績(jī)表、客戶名單等Excel數(shù)據(jù)時(shí),可以快速獲取關(guān)鍵信息,需要的朋友可以參考下2025-04-04
python添加命令行參數(shù)的詳細(xì)過(guò)程
Click 是 Flask 的開(kāi)發(fā)團(tuán)隊(duì) Pallets 的另一款開(kāi)源項(xiàng)目,它是用于快速創(chuàng)建命令行的第三方模塊,這篇文章主要介紹了python怎么添加命令行參數(shù),需要的朋友可以參考下2023-06-06

