python菜鳥教程h Python 命令列引數

2021-10-10 03:49:41 字數 2136 閱讀 2529

python 命令列引數

python 提供了 getopt 模組來獲取命令列引數。

$ python test.py arg1 arg2 arg3

python 中也可以使用 sys 的 sys.ar** 來獲取命令列引數:

sys.ar** 是命令列引數列表。

len(sys.ar**) 是命令列引數個數。

注:sys.ar**[0] 表示指令碼名。

例項test.py 檔案**如下:

#!/usr/bin/python

# -*- coding: utf-8 -*-

import sys

print '引數個數為:', len(sys.ar**), '個引數。'

print '引數列表:', str(sys.ar**)

執行以上**,輸出結果為:

$ python test.py arg1 arg2 arg3

引數個數為: 4 個引數。

引數列表: ['test.py', 'arg1', 'arg2', 'arg3']

getopt模組

getopt模組是專門處理命令列引數的模組,用於獲取命令列選項和引數,也就是sys.ar**。命令列選項使得程式的引數更加靈活。支援短選項模式(-)和長選項模式(--)。

該模組提供了兩個方法及乙個異常處理來解析命令列引數。

getopt.getopt 方法

getopt.getopt 方法用於解析命令列引數列表,語法格式如下:

getopt.getopt(args, options[, long_options])

方法引數說明:

args: 要解析的命令列引數列表。

options : 以字串的格式定義,options 後的冒號 : 表示如果設定該選項,必須有附加的引數,否則就不附加引數。

long_options : 以列表的格式定義,long_options 後的等號 = 表示該選項必須有附加的引數,不帶冒號表示該選項不附加引數。

該方法返回值由兩個元素組成: 第乙個是 (option, value) 元組的列表。 第二個是引數列表,包含那些沒有 - 或 -- 的引數。

另外乙個方法是 getopt.gnu_getopt,這裡不多做介紹。

exception getopt.getopterror

在沒有找到引數列表,或選項的需要的引數為空時會觸發該異常。

異常的引數是乙個字串,表示錯誤的原因。屬性 msg 和 opt 為相關選項的錯誤資訊。

例項usage: test.py -i -o

test.py 檔案**如下所示:

#!/usr/bin/python

# -*- coding: utf-8 -*-

import sys, getopt

def main(ar**):

inputfile = ''

outputfile = ''

try:

opts, args = getopt.getopt(ar**,"hi:o:",["ifile=","ofile="])

except getopt.getopterror:

print 'test.py -i -o '

sys.exit(2)

for opt, arg in opts:

if opt == '-h':

print 'test.py -i -o '

sys.exit()

elif opt in ("-i", "--ifile"):

inputfile = arg

elif opt in ("-o", "--ofile"):

outputfile = arg

print '輸入的檔案為:', inputfile

print '輸出的檔案為:', outputfile

if __name__ == "__main__":

main(sys.ar**[1:])

執行以上**,輸出結果為:

$ python test.py -h

usage: test.py -i -o

$ python test.py -i inputfile -o outputfile

輸入的檔案為: inputfile

輸出的檔案為: outputfile

Python 函式 菜鳥教程

python3函式 菜鳥程式設計 計算面積函式 學習他的呼叫函式方式!def area width,height return width height w 4 h 5 print width w,height h,area area w,h width 4 height 5 area 20 pyt...

python 菜鳥教程 Python 元組

python 元組 python的元組與列表類似,不同之處在於元組的元素不能修改。元組使用小括號,列表使用方括號。元組建立很簡單,只需要在括號中新增元素,並使用逗號隔開即可。如下例項 例項 python 2.0 tup1 physics chemistry 1997,2000 tup2 1,2,3,...

python菜鳥教程函式 Python

python modf 函式 描述modf 方法返回x的整數部分與小數部分,兩部分的數值符號與x相同,整數部分以浮點型表示。語法以下是 modf 方法的語法 import math math.modf x 注意 modf 是不能直接訪問的,需要匯入 math 模組,通過靜態物件呼叫該方法。引數x 數...