python getopt 命令列引數解析

2021-08-19 18:42:19 字數 1125 閱讀 3342

新建乙個argtest.py檔案,輸入以下**:

import sys

print(sys.argv)

隨後在命令提示符中執行python argtest.py a b c 1 "a b" [1,2] [a b]

會輸出

['.\\argtest.py', 'a', 'b', 'c','1','a b', '[1,2]', '[a', 'b]']
可以看出來引數的提取規則:

以上幾條規則足夠滿足制定引數的所有要求

如果是普通的應用,那麼只需要對sys.argv進行處理就可以了,它是乙個list型別的元素,排除掉第乙個元素,其他的都是引數。

python提供了乙個用來解析引數的庫getopt,用於方便的處理規範形式的引數。

最簡單的使用方式:

import getopt

opts, args = getopt.getopt(argv,"a:b:c",["d=","e="])#第一類

getopt()方法接收三個引數,第乙個引數是命令列引數,第二個引數是短選項,第三個引數是長選項

短選項只能以乙個字母為單位,帶冒號表示該選項接收乙個引數,不帶冒號表示該選項不接收引數。

長選項跟短選項沒有必然的聯絡,但經常是用長選項用來表示短選項的乙個意義。

上面的**就是乙個無聯絡的例子

長選項的使用方式為--d=fiil長選項的中間不允許出現任何空格,(除了字串,如--d="a b")

argv = ["-a","1","-b","2","-c","4","--d","5","--f"]

#argv = ["-a","1","-b","2","3","-c","4","--d","5","--f"]

opts, args = getopt.getopt(argv,"a:b:c",["d=","e=","f"])

經過上面的命令後,opts返回的是乙個元組列表,args返回的是包括第乙個多餘的引數的其之後的所有的引數

具體的含義,可以通過執行上面的兩條**來測試一下

python getopt 獲取命令列引數

python 中 getopt 模組,該模組是專門用來處理命令列引數的函式 getopt args,shortopts,longopts args一般是sys.argv 1 shortopts 短格式 longopts 長格式 命令列中輸入 python test.py i 127.0.0.1 p ...

Python getopt命令列引數模組

getopt模組專門用來處理命令列引數 getopt模組有兩個函式,兩個屬性 函式 getopt.getopt getopt.gnu getopt 屬性 getopt.error getopt.getopterror getopt.getopt args,shortopts longopts 引數a...

命令列 Git Bash命令列小結

展示當前完整路徑pwd 建立資料夾mkdir 建立檔案touch 刪除資料夾rm rf 刪除檔案rm 重新命名mv 展示當前路徑下檔案 除了隱藏檔案 ls 展示當前路徑下所有檔案ls a 展示當前路徑下所有檔案以及詳細資訊ls al 轉至某目錄cd 根目錄 上級目錄.當前目錄.檢視檔案cat 檔名稱...