欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python之OptionParser模塊使用詳解

 更新時間:2022年02月09日 09:06:16   作者:熱氣球、  
這篇文章主要為大家詳細介紹了Python之OptionParser模塊使用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

介紹

OptionParser是一個更方便、更靈活、更強大的用于解析命令行選項的庫,使用更具聲明性的命令行分析樣式:創(chuàng)建 OptionParser ,用選項填充它,并解析命令行。 optparse 允許用戶以常規(guī)GNU/POSIX語法指定選項,并另外為您生成用法和幫助消息

基本用法

①from optparse import OptionParser #導入模塊
②parser = OptionParser(...)  #創(chuàng)建實例
③parser.add_option(...) #添加命令行參數(shù)
④(options, args) = parser.parse_args() #得到解析后的options對象,查看用戶的輸入

參數(shù)選項

OptionParser()

parser = OptionParser(usage="usage: %prog [options] arg",version="%prog 1.0",description="hello OptionParser!")
#usage 打印用法
例如: Usage: test.py [options] arg
#version --version時輸出版本信息
例如:test.py 1.0
#description  描述信息 --help時輸出 
例如:hello OptionParser!

parser.add_option()

parser.add_option("-v", "--verbose",action="store_true",dest="verbose",help="這是幫助文檔")
#action  指明optparser解析參數(shù)時該如何處理。默認是store
 - store 表示命令行參數(shù)的值保存在options對象中。
 - store_false 中存在 -v verbose 將會返回false,也就是說verbose的值與-v后的具體參數(shù)具體項無關,只與-v是否存在有關
 - store_true  與action="store_false"類似,只有其中有參數(shù)-v存在時,則verbose的值為true,如果-v不存在,那么verbose的值為None
#type 默認是string,也可以是 int、float等
#dest 指定接收用戶輸入的值,當action="store"時可以將dest接收的值進打印或比較等其他處理
例如:
from optparse import OptionParser
def main():
    parser = OptionParser(usage="usage: %prog [options] arg",version="%prog 1.0",description="hello OptionParser!")
    parser.add_option("-f", "--file", dest="filename",help="read data from FILENAME")
    parser.add_option("-v", "--verbose",action="store_true",dest="verbose",help="這是幫助文檔")
    parser.add_option("-q", "--quiet",action="store_false", dest="verbose")
    (options, args) = parser.parse_args()
    print(options.filename)
if __name__ == "__main__":
    main()
#===test.py -f 1輸出===#
PS C:\Users\Administrator> & E:/python3.8.8/python.exe c:/Users/Administrator/Desktop/test.py -f 1
1
#default 設置默認值;如果在命令行上未看到該選項,則default的值為用于該選項的默認值。
#help  --help時 輸出該選項的解釋說明
例如:
parser.add_option("-v", "--verbose",action="store_true",dest="verbose",help="這是幫助文檔")
#===test.py -h輸出===#
-v, --verbose         這是幫助文檔

生成幫助

#!/usr/bin/env python3.8.8
# -*- encoding: utf-8 -*-
'''
@File    :   test.py
@Time    :   2022/02/08 11:48:40
@Author  :   熱氣球 
@Version :   1.0
@Contact :   17695691664@163.com
'''
from optparse import OptionParser
def main():
    parser = OptionParser(usage="usage: %prog [options] arg",version="%prog 1.0",description="hello OptionParser!")
    parser.add_option("-f", "--file", dest="filename",help="read data from FILENAME")
    parser.add_option("-v", "--verbose",action="store_true",dest="verbose",help="這是幫助文檔")
    parser.add_option("-q", "--quiet",action="store_false", dest="verbose")
    (options, args) = parser.parse_args()
    if len(args) != 1:
        parser.error("incorrect number of arguments")
    if options.verbose:
        print("reading %s..." % options.filename)

if __name__ == "__main__":
    main()
#===test.py -h輸出===#
PS C:\Users\Administrator> & E:/python3.8.8/python.exe c:/Users/Administrator/Desktop/test.py --help 
Usage: test.py [options] arg
hello OptionParser!
Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -f FILENAME, --file=FILENAME
                        read data from FILENAME
  -v, --verbose         這是幫助文檔
  -q, --quiet
PS C:\Users\Administrator>

錯誤提示

此示例拿于官網(wǎng)手冊

#!/usr/bin/env python3.8.8
# -*- encoding: utf-8 -*-
'''
@File    :   test.py
@Time    :   2022/02/08 11:48:40
@Author  :   熱氣球 
@Version :   1.0
@Contact :   17695691664@163.com
'''
from optparse import OptionParser
def main():
    parser = OptionParser(usage="usage: %prog [options] arg",version="%prog 1.0",description="hello OptionParser!")
    parser.add_option("-f", "--file", dest="filename",help="read data from FILENAME")
    parser.add_option("-v", "--verbose",action="store_true", dest="verbose")
    parser.add_option("-q", "--quiet",action="store_false", dest="verbose")
    (options, args) = parser.parse_args()
    if len(args) != 1:
        parser.error("incorrect number of arguments")
    if options.verbose:
        print("reading %s..." % options.filename)
if __name__ == "__main__":
    main()
#---示例代碼解釋---#
-v參數(shù) 當指定-v時才可以運行此代碼,因為-v存在時if options.verbose: 為True
-q參數(shù) 當指定-q時表明退出執(zhí)行,因為action="store_false",所以-q不存在,if options.verbose: 為True
-f參數(shù) 指定filename,需要配合-v參數(shù)一起使用; -v參數(shù)的具體選項值隨意設置,存在即可。

#===test.py -v True -f 1輸出===#  
reading 1...
#===test.py -f 1輸出===#  
PS C:\Users\Administrator> & E:/python3.8.8/python.exe c:/Users/Administrator/Desktop/test.py -f 1                
Usage: cov-run-desktop-test.py [options] arg
cov-run-desktop-test.py: error: incorrect number of arguments
提示參數(shù)不夠
#===test.py -f 輸出===#
PS C:\Users\Administrator> & E:/python3.8.8/python.exe c:/Users/Administrator/Desktop/test.py -f  
Usage: cov-run-desktop-test.py [options] arg
cov-run-desktop-test.py: error: -f option requires 1 argument
錯誤:-f選項需要1個參數(shù)

代碼示例

#!/usr/bin/env python3.8.8
# -*- encoding: utf-8 -*-
'''
@File    :   test.py
@Time    :   2022/02/08 11:48:40
@Author  :   熱氣球 
@Version :   1.0
@Contact :   17695691664@163.com
'''

from optparse import OptionParser
def main():
    parser = OptionParser(usage="usage: %prog [options] arg",version="%prog 1.0",description="hello OptionParser!")
    parser.add_option("-f", "--file", dest="filename",help="read data from FILENAME")
    parser.add_option("-v", "--verbose",action="store", default='reqiqiu',dest="verbosename",help="這是幫助文檔")
    parser.add_option("-q", "--quiet",action="store_false", dest="verbose")
    (options, args) = parser.parse_args()
    if len(args) != 1:
        parser.error("incorrect number of arguments")
    if options.verbose:
        print("reading %s..." % options.filename)

if __name__ == "__main__":
    main()
#===test.py -h輸出===#
PS C:\Users\Administrator> & E:/python3.8.8/python.exe c:/Users/Administrator/Desktop/test.py -h     
Usage: test.py [options] arg
hello OptionParser!
Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -f FILENAME, --file=FILENAME
                        read data from FILENAME
  -v VERBOSENAME, --verbose=VERBOSENAME
                        這是幫助文檔
  -q, --quiet

#===test.py -v輸出===#
PS C:\Users\Administrator> & E:/python3.8.8/python.exe c:/Users/Administrator/Desktop/test.py --version
test.py 1.0

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!      

相關文章

  • Django配置Mysql數(shù)據(jù)庫連接的實現(xiàn)

    Django配置Mysql數(shù)據(jù)庫連接的實現(xiàn)

    本文主要介紹了Django配置Mysql數(shù)據(jù)庫連接的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Django+Xadmin構建項目的方法步驟

    Django+Xadmin構建項目的方法步驟

    這篇文章主要介紹了Django+Xadmin構建項目的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • python實現(xiàn)可將字符轉換成大寫的tcp服務器實例

    python實現(xiàn)可將字符轉換成大寫的tcp服務器實例

    這篇文章主要介紹了python實現(xiàn)可將字符轉換成大寫的tcp服務器,通過tcp服務器端實現(xiàn)針對字符的轉換與返回功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • python為什么要安裝到c盤

    python為什么要安裝到c盤

    在本篇文章里小編給大家整理的是一篇關于python安裝到c盤的原因的文章,有需要的朋友們可以學習參考下。
    2020-07-07
  • Python模塊pexpect安裝及使用流程

    Python模塊pexpect安裝及使用流程

    Pexpect使Python成為控制其他應用程序的更好工具,這篇文章主要介紹了Python模塊之pexpect的安裝及使用流程,需要的朋友可以參考下
    2022-02-02
  • python插入數(shù)據(jù)到列表的方法

    python插入數(shù)據(jù)到列表的方法

    這篇文章主要介紹了python插入數(shù)據(jù)到列表的方法,涉及Python中insert方法的使用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • Python爬蟲之獲取心知天氣API實時天氣數(shù)據(jù)并彈窗提醒

    Python爬蟲之獲取心知天氣API實時天氣數(shù)據(jù)并彈窗提醒

    今天我們來學習如何獲取心知天氣API實時天氣數(shù)據(jù),制作彈窗提醒,并設置成自啟動項目.文中有非常詳細的代碼示例及介紹,對正在學習python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • python+selenium+chrome實現(xiàn)淘寶購物車秒殺自動結算

    python+selenium+chrome實現(xiàn)淘寶購物車秒殺自動結算

    這篇文章主要介紹了python+selenium+chrome實現(xiàn)淘寶購物車秒殺自動結算,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Python中刪除文件的幾種方法實例

    Python中刪除文件的幾種方法實例

    這篇文章主要給大家介紹了關于Python中刪除文件的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • python生成大寫32位uuid代碼

    python生成大寫32位uuid代碼

    這篇文章主要介紹了python生成大寫32位uuid代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03

最新評論