$ python testpython 中也可以所用sys的sys.argv來獲取命令列引數:.py arg1 arg2 arg3
注:sys.argv[0] 表示指令碼名。
test.py 檔案**如下:
#!/usr/bin/python執行以上**,輸出結果為:# -*- coding: utf-8 -*-
import
sysprint
'引數個數為:'
,len
(sys
.argv
),'個引數。'
'引數列表:'
,str
(sys
.argv
)
$ python testgetopt模組是專門處理命令列引數的模組,用於獲取命令列選項和引數,也就是sys.argv。命令列選項使得程式的引數更加靈活。支援短選項模式(-)和長選項模式(--)。.py arg1 arg2 arg3
引數個數為:
4個引數。
引數列表:
['test.py'
,'arg1'
,'arg2'
,'arg3'
]
該模組提供了兩個方法及乙個異常處理來解析命令列引數。
getopt.getopt 方法用於解析命令列引數列表,語法格式如下:
getopt方法引數說明:.getopt
(args
,option
,[long_options
])
另外乙個方法是 getopt.gnu_getopt,這裡不多做介紹。
在沒有找到引數列表,或選項的需要的引數為空時會觸發該異常。
異常的引數是乙個字串,表示錯誤的原因。屬性msg和opt為相關選項的錯誤資訊。
假定我們建立這樣乙個指令碼,可以通過命令列向指令碼檔案傳遞兩個檔名,同時我們通過另外乙個選項檢視指令碼的使用。指令碼使用方法如下:
usagetest.py 檔案**如下所示::test
.py -i
-o
#!/usr/bin/python執行以上**,輸出結果為:# -*- coding: utf-8 -*-
import
sys,
getopt
defmain
(argv
):inputfile =''
outputfile =''
try:
opts
,args
=getopt
.getopt
(argv
,"hi:o:"
,["ifile="
,"ofile="
])except
getopt
.getopterror
'test.py -i -o '
sys.
exit(2
)for
opt,
arg
inopts:if
opt
=='-h'
'test.py -i -o '
sys.
exit
()elif
opt in(
"-i"
,"--ifile"
):inputfile
=arg
elif
opt in(
"-o"
,"--ofile"
):outputfile
=arg
'輸入的檔案為:'
,inputfile
'輸出的檔案為:'
,outputfile
if__name__
=="__main__"
:main
(sys
.argv[1
:])
$ python test.py -h
usage
:test
.py -i
-o $ python test
.py
-i inputfile
-o outputfile
輸入的檔案為:
inputfile
輸出的檔案為:
outputfile
python 命令列引數
本篇將介紹python中sys,getopt模組處理命令列引數 如果想對python指令碼傳引數,python中對應的argc,argv c語言的命令列引數 是什麼呢?需要模組 sys 引數個數 len sys.argv 指令碼名 sys.argv 0 引數1 sys.argv 1 引數2 sys....
python 命令列引數
python呼叫時,可以直接在命令列中加入呼叫引數,通過sys模組的argv來進行解析,如下 lixinglei bogon someother python param.py port 8080 username lixinglei lixinglei bogon someother vim pa...
python 命令列引數
一 getopt模組 主要用到了模組中的函式 options,args getopt.getopt args,shortopts,longopts 引數args 一般是sys.argv 1 過濾掉sys.argv 0 它是執行指令碼的名字,不算做命令列引數。shortopts 短格式 例如 hp i...