python中g(shù)etopt()函數(shù)用法詳解
通過getopt模塊中的getopt( )方法,我們可以獲取和解析命令行傳入的參數(shù)
一、函數(shù)用法
getopt(args, shortopts, longopts=[ ])
- args:固定寫法sys.argv[1:]
- shortopts:短參
- 字符串類型,限制命令行可傳入的短參名稱(命令行可不傳參,如果傳參,必須是指定的參數(shù)名,否則會(huì)報(bào)錯(cuò))
- 參數(shù)名必須為單字符,前面使用單短橫線(-)
- 命令行寫法:
- -a 不帶參數(shù)值形式
- -b test_b 帶參數(shù)值形式(中間空格可省略,個(gè)人推薦帶上空格,更容易區(qū)分)
- -c 'test c' 參數(shù)值含空格,需要使用引號(hào)
- 按照上述命令行寫法,shortopts的寫法可以是:'ab:c:'
- 如果帶參數(shù)值,則需要在參數(shù)名后面帶上':'
- 各參數(shù)名先后順序無所謂,比如'b:ac:'
- longopts:長參
- 數(shù)組類型,元素為字符串,限制命令行可傳入的長參名稱(命令行可不傳參)
- 參數(shù)名前使用雙短橫線(--)
- 命令行寫法:
- --aa 不帶參數(shù)值形式
- --bb=test_bb 帶參數(shù)值形式
- --cc='test cc' 帶參數(shù)值形式,參數(shù)值含空格,需要使用引號(hào)
- 按上述命令行寫法,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']
對(duì)于沒有參數(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中torch.nn.identity()方法詳解
今天看源碼時(shí)遇到的這個(gè)恒等函數(shù),就如同名字那樣占位符,并沒有實(shí)際操作,下面這篇文章主要給大家介紹了關(guān)于python中torch.nn.identity()方法的相關(guān)資料,需要的朋友可以參考下2022-03-03
一小時(shí)學(xué)會(huì)TensorFlow2之基本操作1實(shí)例代碼
這篇文章主要介紹了TensorFlow2的基本操作第一節(jié),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
詳談Python高階函數(shù)與函數(shù)裝飾器(推薦)
下面小編就為大家?guī)硪黄斦凱ython高階函數(shù)與函數(shù)裝飾器(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
python函數(shù)之任意數(shù)量的實(shí)參方式
這篇文章主要介紹了python函數(shù)之任意數(shù)量的實(shí)參方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02

