python 提供了getopt模組來獲取命令列引數。
$ python test.py arg1 arg2 arg3
python 中也可以所用sys的sys.argv來獲取命令列引數:
注:sys.argv[0] 表示指令碼名。
例項
test.py 檔案**如下:
#!/usr/bin/python3
import sys
print ('引數個數為:', len(sys.argv), '個引數。')
print ('引數列表:', str(sys.argv))
執行以上**,輸出結果為:
$ python3 test.py arg1 arg2 arg3
引數個數為: 4 個引數。
引數列表: ['test.py', 'arg1', 'arg2', 'arg3']
getopt模組是專門處理命令列引數的模組,用於獲取命令列選項和引數,也就是sys.argv。命令列選項使得程式的引數更加靈活。支援短選項模式(-)和長選項模式(--)。
該模組提供了兩個方法及乙個異常處理來解析命令列引數。
getopt.getopt 方法
getopt.getopt 方法用於解析命令列引數列表,語法格式如下:
getopt.getopt(args, options[, long_options])
方法引數說明:
另外乙個方法是 getopt.gnu_getopt,這裡不多做介紹。
在沒有找到引數列表,或選項的需要的引數為空時會觸發該異常。
異常的引數是乙個字串,表示錯誤的原因。屬性msg和opt為相關選項的錯誤資訊。
例項
usage: test.py -i -o
test.py 檔案**如下所示:
#!/usr/bin/python3
import sys, getopt
def main(argv):
inputfile = ''
outputfile = ''
try:
opts, args = getopt.getopt(argv,"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.argv[1:])
執行以上**,輸出結果為:
$ python3 test.py -h
usage: test.py -i -o $ python3 test.py -i inputfile -o outputfile
輸入的檔案為: inputfile
輸出的檔案為: outputfile
Python3命令列引數之getopt模組詳解
具體文件請檢視 print getopt.doc 這個模組一共有兩個函式,兩個屬性 函式 屬性 我們主要經常使用getopt這個函式 getopt.getopt args,shortopts,longopts args指的是當前指令碼接收的引數,它是乙個列表,可以通過sys.ar 1 獲得short...
Python3 怎麼使用python命令列引數
python3 test.py arg1 arg2 arg3getopt模組是專門處理命令列引數的模組,用於獲取命令列選項和引數,也就是sys.ar 命令列選項使得程式的引數更加靈活。支援短選項模式 和長選項模式 該模組提供了兩個方法及乙個異常處理來解析命令列引數。getopt.getopt 方法 ...
python 命令列引數
本篇將介紹python中sys,getopt模組處理命令列引數 如果想對python指令碼傳引數,python中對應的argc,argv c語言的命令列引數 是什麼呢?需要模組 sys 引數個數 len sys.argv 指令碼名 sys.argv 0 引數1 sys.argv 1 引數2 sys....