亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python getopt模塊使用實例解析

 更新時間:2019年12月18日 14:46:41   作者:我曾把春天丟了  
這篇文章主要介紹了python getopt模塊使用實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了python getopt模塊使用實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

官方介紹地址: https://docs.python.org/3.1/library/getopt.html

實用方向:

  處理命令行參數(shù)的一個方法,簡單好用。

方法:

  getopt模塊總共有2個函數(shù),分別為:

  • getopt.getopt
  • getopt.gnu_getopt

簡單使用:

getopt這個函數(shù)常用,簡單看一下這個函數(shù)的使用:

getopt.getopt(args, shortopts, longopts=[])

看這幾個參數(shù),

args為:腳本接受的參數(shù),傳入為list類型,此處與sys.argv連并使用

shortopts:短參數(shù)。就是參考:python3 test.py -v ,這個-v就是需要用到的短參數(shù)。

longopts=[]:長參數(shù)。就是參考:python3 test.py --v,兩個-的就是需要用到的長參數(shù)。

先簡單有一個印象。

那后面需要用到的參數(shù)怎么傳入,怎么處理呢?

參數(shù)處理:

import sys
import getopt

opts = getopt.getopt(sys.argv[1:],"-h",["help"])
print(opts)

我們在命令行跑一下:

GL$python3 111.py --help
([('--help', '')], [])

GL$python3 111.py -h 
([('-h', '')], [])

打印了如上的內(nèi)容,我們依次看一下

1、我們?yōu)槭裁匆胹ys.argv[1:]呢?是因為第0個是函數(shù)本身,所以接受除本身之外的所以參數(shù)

2、返回的是一個tuple,第一個list我們可以理解是傳入的--h,加到了一個list里,第二個list則是-h后面加的參數(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()

運行起來看看:

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)了個新東西,shortopts里面怎么多了個冒號呢??那個是干啥的?

其實,從上面的例子也可以簡單看出來,加冒號意思就是-w后面要加參數(shù),不加冒號就不用加參數(shù),longopts也是一樣,冒號用等號代替。

好,這里都已經(jīng)有些了解了。那么后面的args,是干啥的呀。還有opts又是干啥的呀。

opts 就是分析出的格式信息。args 為不屬于格式信息的剩余的命令行參數(shù)。

opts 是一個兩元組的列表。(選項串, 附加參數(shù)) 。如果沒有則為空。

下面看例子:

我們在最開頭打印args,也就是加一行 print(args),我就不貼代碼了。

運行起來:

GL$python3 111.py --help ssss
['ssss']
--help this is help/GL$python3 111.py -w 123 123
['123']
-w: 123

多余的未識別的就成了args里面的內(nèi)容了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python3 循環(huán)讀取excel文件并寫入json操作

    python3 循環(huán)讀取excel文件并寫入json操作

    這篇文章主要介紹了python3 循環(huán)讀取excel文件并寫入json操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python3 通過 pybind11 使用Eigen加速代碼的步驟詳解

    python3 通過 pybind11 使用Eigen加速代碼的步驟詳解

    這篇文章主要介紹了python3 通過 pybind11 使用Eigen加速代碼的步驟詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • python免殺技術(shù)shellcode的加載與執(zhí)行

    python免殺技術(shù)shellcode的加載與執(zhí)行

    本文主要介紹了python免殺技術(shù)shellcode的加載與執(zhí)行,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Python中ini配置文件讀寫的實現(xiàn)

    Python中ini配置文件讀寫的實現(xiàn)

    本文主要介紹了Python中ini配置文件讀寫的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • python實現(xiàn)線程池的方法

    python實現(xiàn)線程池的方法

    這篇文章主要介紹了python實現(xiàn)線程池的方法,實例分析了Python線程池的原理與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2015-06-06
  • python并發(fā)和異步編程實例

    python并發(fā)和異步編程實例

    這篇文章主要為大家詳細(xì)介紹了python并發(fā)和異步編程實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • OpenCV實戰(zhàn)之AI照片背景替換

    OpenCV實戰(zhàn)之AI照片背景替換

    不少人在生活中都有摳人像圖換背景的需求。本文將為大家介紹一個更快的方法,即利用OpenCV實現(xiàn)AI照片背景替換,感興趣的小伙伴可以試一試
    2022-01-01
  • YOLOv5部署到web端詳細(xì)過程(flask+js簡單易懂)

    YOLOv5部署到web端詳細(xì)過程(flask+js簡單易懂)

    YOLOv5是一個目標(biāo)檢測模型,Flask是一個Python的Web框架,下面這篇文章主要給大家介紹了關(guān)于YOLOv5部署到web端(flask+js簡單易懂)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • WxPython實現(xiàn)無邊框界面

    WxPython實現(xiàn)無邊框界面

    這篇文章主要為大家詳細(xì)介紹了WxPython實現(xiàn)無邊框界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Anaconda中Python虛擬環(huán)境的創(chuàng)建使用與刪除方法詳解

    Anaconda中Python虛擬環(huán)境的創(chuàng)建使用與刪除方法詳解

    這篇文章主要為大家介紹了在Anaconda環(huán)境下,創(chuàng)建、使用與刪除Python虛擬環(huán)境的方法,具有一定的借鑒價值,需要的小伙伴可以跟隨小編一起了解一下
    2023-08-08

最新評論