python getopt argparse_python OptParse模块和argparse命令行解析的用法详解
https://www.cnblogs.com/wj-1314/p/8974021.html
OptParse模塊的簡單介紹
Python 有兩個內建的模塊用于處理命令行參數: 一個是 getopt只能簡單處理 命令行參數; 另一個是 optparse,它功能強大,而且易于使用,可以方便地生成標準的、符合Unix/Posix 規范的命令行說明。會自動幫你負責-h幫助選項。
要自己定制程序的參數選項控制,可以使用python自帶的OptParse模塊,當然也可以直接解析sys.argv里的參數(但是此比較麻煩)
OptParse支持一般性GUN的選項方法,包括:
解析時候 - 和 -- 的區別:
optparse modlue基本用法
一,基本用法
舉個例子:
結果:
二,新建對象
形參包括:
三,新建選項
3.1 可以使用下面幾個方法:
3.2 具體參數分析:
四,選項相關參數:
4.1,可以用來同時設置多個選項的默認參數
4.2,檢查是否有相應的選項
4.3,刪除選項
4.4,舉個例子:
輸出:
4.5,添加選項組 add_option_group()
如果 options 很多的時候, 可以進行分組,然后進行添加. 分組的好處是, 對一系列程序參數可以分一個組,如果有獨立的 description , 可以另外處理.使用如下:
4.6,添加選項數組 add_options([Option1,…])
將各個Option對象放在一個列表里再一起添加
五,參數解析parse_args()
使用?parse_args()?對參數進行解析,默認是使用?sys.argv[1:]?作為參數, 也可以傳遞一個命令行參數列表:?parse_args(list).
parse_args()?返回的兩個值:
六,幫助文檔
默認自動帶有 -h 和 --help 來輸出幫助文檔, 輸出后程序終止.幫助文檔由三部分組成:
OptionParser 的形參 version 可以指定 --version 輸出的字符串, 同樣支持%prog, 如 version="%prog 1.0"舉個例子:
Python命令行解析argparse常用語法使用簡介
python中命令行解析最簡單最原始的方法是使用sys.argv來實現,更高級的可以使用aegparse這個模塊,argparse從python2.7開始被加入標準庫,所以python版本在2.7以下,那么需要安裝一下。
1、導入argparse模塊
2、創建解析器對象ArgumentParser,可以添加參數。
description:描述程序
parser=argparse.ArgumentParser(description="This is a example program ")
add_help:默認是True,可以設置False禁用
3、add_argument()方法,用來指定程序需要接受的命令參數
定位參數:
parser.add_argument("echo",help="echo the string")
可選參數:
parser.add_argument("--verbosity", help="increase output verbosity")
在執行程序的時候,定位參數必選,可選參數可選。
add_argument()常用的參數:
dest:如果提供dest,例如dest="a",那么可以通過args.a訪問該參數
default:設置參數的默認值
action:參數出發的動作
store:保存參數,默認
store_const:保存一個被定義為參數規格一部分的值(常量),而不是一個來自參數解析而來的值。
store_ture/store_false:保存相應的布爾值
append:將值保存在一個列表中。
append_const:將一個定義在參數規格中的值(常量)保存在一個列表中。
count:參數出現的次數
parser.add_argument("-v", "--verbosity", action="count", default=0, help="increase output verbosity")
version:打印程序版本信息
type:把從命令行輸入的結果轉成設置的類型
choice:允許的參數值
parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2], help="increase output verbosity")
help:參數命令的介紹
總結
以上是生活随笔為你收集整理的python getopt argparse_python OptParse模块和argparse命令行解析的用法详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA个go哪个写web方便_Go语言
- 下一篇: 恒生java开发复试_2019恒生电子面