欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中g(shù)etopt()函數(shù)用法詳解

 更新時間:2022年12月01日 08:33:41   作者:eliwang  
這篇文章主要介紹了python中g(shù)etopt()函數(shù)用法,通過getopt模塊中的getopt(?)方法,我們可以獲取和解析命令行傳入的參數(shù),需要的朋友可以參考下

通過getopt模塊中的getopt( )方法,我們可以獲取和解析命令行傳入的參數(shù)

一、函數(shù)用法

  • getopt(args, shortopts, longopts=[ ])

    • args:固定寫法sys.argv[1:]
    • shortopts:短參
      • 字符串類型,限制命令行可傳入的短參名稱(命令行可不傳參,如果傳參,必須是指定的參數(shù)名,否則會報錯)
      • 參數(shù)名必須為單字符,前面使用單短橫線(-)
      • 命令行寫法:
        • -a  不帶參數(shù)值形式
        • -b test_b  帶參數(shù)值形式(中間空格可省略,個人推薦帶上空格,更容易區(qū)分)
        • -c 'test c'  參數(shù)值含空格,需要使用引號
      • 按照上述命令行寫法,shortopts的寫法可以是:'ab:c:'
        • 如果帶參數(shù)值,則需要在參數(shù)名后面帶上':'
        • 各參數(shù)名先后順序無所謂,比如'b:ac:'
    • longopts:長參
      • 數(shù)組類型,元素為字符串,限制命令行可傳入的長參名稱(命令行可不傳參)
      • 參數(shù)名前使用雙短橫線(--)
      • 命令行寫法:
        • --aa  不帶參數(shù)值形式
        • --bb=test_bb  帶參數(shù)值形式
        • --cc='test cc'  帶參數(shù)值形式,參數(shù)值含空格,需要使用引號
      • 按上述命令行寫法,longopts寫法可以是:['aa', 'bb=', 'cc=']
        • 如果帶參數(shù)值,則需要在參數(shù)名后面帶上'='
        • 各參數(shù)名先后順序無所謂

二、示例

代碼

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import sys
from getopt import getopt

opts, args = getopt(sys.argv[1:], 'ab:', ['aa', 'bb='])

# 解析出的參數(shù)名和值,格式:[(參數(shù)1,參數(shù)值1), (參數(shù)2,參數(shù)值2)...]
print(f'opts: {opts}')

# 未解析出來的參數(shù)值部分
print(f'args: {args}')

命令行

python main.py -a -b 'test short_b' --aa --bb=long_bb xxxx

輸出:

opts: [('-a', ''), ('-b', 'test short_b'), ('--aa', ''), ('--bb', 'long_bb')]
args: ['xxxx']

對于沒有參數(shù)值的a和aa參數(shù),解析出的參數(shù)值都為空字符串'',由于bb參數(shù)的參數(shù)值long_bb和xxxx之間有空格,所以未解析出

命令行

python main.py -b=test_b

輸出:

opts: [('-a', ''), ('-b', 'test short_b'), ('--aa', ''), ('--bb', 'long_bb')]
args: ['xxxx']

參數(shù)可傳,也可省略,如果傳,則必須是代碼中所指定的

到此這篇關(guān)于python中g(shù)etopt()函數(shù)用法的文章就介紹到這了,更多相關(guān)python getopt()函數(shù)用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論