日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 命令行参数

發布時間:2025/3/21 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 命令行参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

Python 提供了 getopt 模塊來獲取命令行參數。

$ python test.py arg1 arg2 arg3

Python 中也可以所用 sys 的 sys.argv 來獲取命令行參數:

  • sys.argv 是命令行參數列表。
  • len(sys.argv) 是命令行參數個數。

注:sys.argv[0] 表示腳本名。


實例
test.py 文件代碼如下:

#!/usr/bin/python # -*- coding: UTF-8 -*-import sysprint '參數個數為:', len(sys.argv), '個參數。' print '參數列表:', str(sys.argv)

執行以上代碼,輸出結果為:

$ python test.py arg1 arg2 arg3 參數個數為: 4 個參數。 參數列表: ['test.py', 'arg1', 'arg2', 'arg3']

getopt模塊

getopt模塊是專門處理命令行參數的模塊,用于獲取命令行選項和參數,也就是sys.argv。

命令行選項使得程序的參數更加靈活。

支持短選項模式(-)和長選項模式(–)。

該模塊提供了兩個方法及一個異常處理來解析命令行參數。

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 <inputfile> -o <outputfile>

test.py 文件代碼如下所示:

#!/usr/bin/python # -*- coding: UTF-8 -*-import sys, getoptdef main(argv):inputfile = ''outputfile = ''try:opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])except getopt.GetoptError:print 'test.py -i <inputfile> -o <outputfile>'sys.exit(2)for opt, arg in opts:if opt == '-h':print 'test.py -i <inputfile> -o <outputfile>'sys.exit()elif opt in ("-i", "--ifile"):inputfile = argelif opt in ("-o", "--ofile"):outputfile = argprint '輸入的文件為:', inputfileprint '輸出的文件為:', outputfileif __name__ == "__main__":main(sys.argv[1:])

執行以上代碼,輸出結果為:

$ python test.py -h usage: test.py -i <inputfile> -o <outputfile>$ python test.py -i inputfile -o outputfile 輸入的文件為: inputfile 輸出的文件為: outputfile

總結

以上是生活随笔為你收集整理的Python 命令行参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。