python 解析引數getopt

2021-10-04 15:23:21 字數 2645 閱讀 3922

如果python想要去解析命令列的引數可以import getopt實現,該模組支援短選項和長選項兩種格式; 短選項格式為-加上單個字母選項;長選項為--加上乙個單詞。

opts,args = getopt.getopt(sys.ar**[1:],『hi:-o:s:e:』,[『input=』,『output=』,『symble=』,『oddeven=』,『help』])

對於短格式來說:『hi:-o:s:e:』,當輸入引數為-h時,後面沒有引數,而當輸入-i, -o, -s,以及-e的時候,都是需要出入對應的引數的。

對於長格式來說:[『input=』,『output=』,『symble=』,『oddeven=』,『help』]),當輸入–help的時候後面是沒有引數的,而–input, --output, --symble以及–oddeven都是需要後面跟對應的引數的。

python解析命令列引數getopt的使用樣例:

#!

/usr/bin/env python

import getopt

import sys

try:

opts,args = getopt.

getopt

(sys.ar**[1:

],'hi:o:s:e:',[

'input='

,'output='

,'symble='

,'oddeven='

,'help'])

print

(args)

print

(opts)

for opt_name,opt_value in opts:

if opt_name in (

'-h'

,'--help'):

print

("[*] help info"

)continue

if opt_name in (

'-i'

,'--input'):

inputfile = opt_value

print

("[*] input file name:"

, inputfile)

continue

if opt_name in (

'-s'

,'--symble'):

symblefile = opt_value;

print

("[*] symble file name:"

, symblefile)

continue

if opt_name in (

'-e'

,'--even'):

odd_or_even = opt_value

print

("[*] dump file type is:"

,odd_or_even)

continue

if opt_name in (

'-o'

,'--output'):

outputfile = opt_value

print

("[*] outputfile file name is:"

,outputfile)

continue

except getopt.getopterror:

print

(" help information and exit:"

)except getopt.indentationerror:

printf

("error:"

, error)

;

程式執行的結果:

短格式的執行結果:

$ ./parse_param.py -i ccc -o ccc.txt -s nuttx.sym -o odd

[('-i', 'ccc'

), (

'-o', 'ccc.txt'

), (

'-s', 'nuttx.sym'

), (

'-o', 'odd')]

('[*] input file name:', 'ccc')(

'[*] outputfile file name is:', 'ccc.txt')(

'[*] symble file name:', 'nuttx.sym')(

'[*] outputfile file name is:', 'odd'

)

長格式的執行結果:

$ python parse_param.py --input ccc --output ccc.txt --symble nuttx.sym --oddeven odd

[('--input', 'ccc'

), (

'--output', 'ccc.txt'

), (

'--symble', 'nuttx.sym'

), (

'--oddeven', 'odd')]

[*] input file name: ccc

[*] outputfile file name is: ccc.txt

[*] symble file name: nuttx.sym

Python命令列引數解析模組getopt使用例項

這篇文章主要介紹了python命令列引數解析模組getopt使用例項,本文講解了使用語法格式 短選項引數例項 長選項引數例項等內容,需要的朋友可以參考下 格式 getopt args,options long options 1.args表示要解析的引數.2.options表示指令碼要識別的字元.字...

python解析命令列引數

使用乙個先進的模組名為argparse,跟unix程式的命令列引數很像。直接對code做個筆記 import sys import argparse def main args print first name directory s args.first name print first para...

python學習 docopt 命令引數解析器

python docopt模組詳解 docopt 本質上是在 python 中引入了一種針對命令列引數的形式語言,在 的最開頭使用 文件注釋的形式寫出符合要求的文件,就會自動生成對應的parse 用法 用法很簡單,我們以tickets 為例,你只需要在開頭加入下邊 train tickets que...