如果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...