最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python命令行參數(shù)argv和argparse該如何使用

 更新時(shí)間:2021年02月08日 11:17:07   作者:葛木瓜  
這篇文章主要介紹了Python命令行參數(shù)argv和argparse該如何使用,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下

概述

運(yùn)行python腳本時(shí)通過(guò)命令行方式傳入運(yùn)行參數(shù)通常有以下兩種自建方式:

  • sys.argv - 簡(jiǎn)潔
  • argparse - 豐富,可自定義

下面詳細(xì)說(shuō)一下具體時(shí)使用

argv

# test_argv.py

import sys

args = sys.argv
print(f'args = {args}')

>>> output
➜ git:(master) python3 test_argv.py     
args = ['test_argv.py']
➜ git:(master) ✗ python3 test_argv.py 1 2 3
args = ['test_argv.py', '1', '2', '3']
➜ git:(master) ✗ python3 test_argv.py 1 2 3 'hello world !'
args = ['test_argv.py', '1', '2', '3', 'hello world !']

從上面可以看出,通過(guò)argv方法獲取的結(jié)果:

  • 返回為list
  • 第一個(gè)參數(shù)為腳本本身
  • 如參數(shù)中間帶空格,用引號(hào)即可

argparse

argparse模塊的功能較為豐富,其核心是通過(guò)add_argument方法自定義入?yún)⒌模簶?biāo)志、格式、類(lèi)型和范圍等特性,常用如下:

  • *name_or_flag - 定義入?yún)⒚騠lag,如'-n', '--number'
  • type - 指定入?yún)㈩?lèi)型
  • choices - 指定入?yún)⒎秶?/li>
  • default - 指定入?yún)⒛J(rèn)值
  • required - 指定該餐素是否不要,布爾類(lèi)型
  • help - 參數(shù)概述

更多請(qǐng)參考: argparse

實(shí)例

test_argv.py

import argparse

# 初始化一個(gè)parser對(duì)象
parser = argparse.ArgumentParser(description='test module of argparse')

# 指定-n/--number的參數(shù)
# 類(lèi)型為int
# help為簡(jiǎn)短地說(shuō)明
parser.add_argument(
  '-n', '--number', type=int,
  help='args of number'
)

# 指定-o/--output參數(shù)
# 并限制類(lèi)型為:['txt', 'csv', 'doc']
parser.add_argument(
  '-o', '--output', type=str,
  choices=['txt', 'csv', 'doc'],
  help='output method'
)

# 指定-d/--default參數(shù)
# 并限制類(lèi)型為:['txt', 'csv', 'doc']
parser.add_argument(
  '-d', '--default', type=int,
  choices=[_ for _ in range(1, 10)],
  default=5,
  help='default'
)

# 指定位置參數(shù)foo
parser.add_argument('foo')

args = parser.parse_args()
print(f'args = {args}')

# 獲取指定參數(shù)
print(
  f'number = {args.number}, type = {type(args.number)}\n'
  f'output = {args.output}, type = {type(args.output)}\n'
  f'default = {args.default}, type = {type(args.default)}\n'
  f'foo = {args.foo}, type = {type(args.foo)}'
)

output

# -h - 打印help
➜ git:(master) ✗ python3 test_argv.py -h
usage: test_argv.py [-h] [-n NUMBER] [-o {txt,csv,doc}]
          [-d {1,2,3,4,5,6,7,8,9}]
          foo

test module of argparse

positional arguments:
 foo

optional arguments:
 -h, --help      show this help message and exit
 -n NUMBER, --number NUMBER
            args of number
 -o {txt,csv,doc}, --output {txt,csv,doc}
            output method
 -d {1,2,3,4,5,6,7,8,9}, --default {1,2,3,4,5,6,7,8,9}
            default
# 不帶參數(shù)運(yùn)行,結(jié)果為None
➜ git:(master) ✗ python3 test_argv.py  
args = Namespace(number=None, output=None)
number = None
output = None

# 帶參數(shù)運(yùn)行
➜ git:(master) ✗ python3 test_argv.py -n 33 --output txt
args = Namespace(number=33, output='txt')
number = 33, type = <class 'int'>
output = txt, type = <class 'str'>

# 參數(shù)格式錯(cuò)誤
➜ git:(master) ✗ python3 test_argv.py -n str     
usage: test_argv.py [-h] [-n NUMBER] [-o {txt,csv,doc}]
test_argv.py: error: argument -n/--number: invalid int value: 'str'
➜ git:(master) ✗ python3 test_argv.py -o excel    
usage: test_argv.py [-h] [-n NUMBER] [-o {txt,csv,doc}]
test_argv.py: error: argument -o/--output: invalid choice: 'excel' (choose from 'txt', 'csv', 'doc')

# 默認(rèn)參數(shù) 
➜ git:(master) ✗ python3 test_argv.py   
args = Namespace(default=5, number=None, output=None)
number = None, type = <class 'NoneType'>
output = None, type = <class 'NoneType'>
output = 5, type = <class 'int'>

以上就是Python命令行參數(shù)argv和argparse該如何使用的詳細(xì)內(nèi)容,更多關(guān)于Python命令行參數(shù)argv和argparse的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • matplotlib之Pyplot模塊繪制三維散點(diǎn)圖使用顏色表示數(shù)值大小

    matplotlib之Pyplot模塊繪制三維散點(diǎn)圖使用顏色表示數(shù)值大小

    在撰寫(xiě)論文時(shí)常常會(huì)用到matplotlib來(lái)繪制三維散點(diǎn)圖,下面這篇文章主要給大家介紹了關(guān)于matplotlib之Pyplot模塊繪制三維散點(diǎn)圖使用顏色表示數(shù)值大小的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Python文件與文件夾操作大全(非常全面)

    Python文件與文件夾操作大全(非常全面)

    Python具有強(qiáng)大的文件處理功能,如文件的創(chuàng)建、打開(kāi)、文件內(nèi)容的寫(xiě)入、讀出文件中的內(nèi)容等等,這篇文章主要介紹了Python文件與文件夾操作,需要的朋友可以參考下
    2023-09-09
  • python Matplotlib底圖中鼠標(biāo)滑過(guò)顯示隱藏內(nèi)容的實(shí)例代碼

    python Matplotlib底圖中鼠標(biāo)滑過(guò)顯示隱藏內(nèi)容的實(shí)例代碼

    這篇文章主要介紹了python Matplotlib底圖中鼠標(biāo)滑過(guò)顯示隱藏內(nèi)容,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 三個(gè)python爬蟲(chóng)項(xiàng)目實(shí)例代碼

    三個(gè)python爬蟲(chóng)項(xiàng)目實(shí)例代碼

    這篇文章主要介紹了三個(gè)python爬蟲(chóng)項(xiàng)目實(shí)例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python實(shí)現(xiàn)批量檢測(cè)ip地址連通性

    Python實(shí)現(xiàn)批量檢測(cè)ip地址連通性

    這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)批量檢測(cè)ip地址連通性并以json格式顯示(支持傳參單IP或者網(wǎng)段),感興趣的小伙伴可以了解下
    2024-04-04
  • python實(shí)現(xiàn)電子產(chǎn)品商店

    python實(shí)現(xiàn)電子產(chǎn)品商店

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)電子產(chǎn)品商店,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • python 移除字符串尾部的數(shù)字方法

    python 移除字符串尾部的數(shù)字方法

    今天小編就為大家分享一篇python 移除字符串尾部的數(shù)字方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Python爬蟲(chóng)scrapy框架Cookie池(微博Cookie池)的使用

    Python爬蟲(chóng)scrapy框架Cookie池(微博Cookie池)的使用

    這篇文章主要介紹了Python爬蟲(chóng)scrapy框架Cookie池(微博Cookie池)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python 調(diào)用 zabbix api的方法示例

    Python 調(diào)用 zabbix api的方法示例

    這篇文章主要介紹了Python 調(diào)用 zabbix api的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 簡(jiǎn)單了解django緩存方式及配置

    簡(jiǎn)單了解django緩存方式及配置

    這篇文章主要介紹了簡(jiǎn)單了解django緩存概述及配置,由于Django是動(dòng)態(tài)網(wǎng)站,所有每次請(qǐng)求均會(huì)去數(shù)據(jù)進(jìn)行相應(yīng)的操作,當(dāng)程序訪(fǎng)問(wèn)量大時(shí),耗時(shí)必然會(huì)更加明顯,最簡(jiǎn)單解決方式是使用:緩存,需要的朋友可以參考下
    2019-07-07

最新評(píng)論

松滋市| 建瓯市| 嵊州市| 广西| 深水埗区| 浪卡子县| 静宁县| 河间市| 江达县| 江北区| 昌乐县| 潞城市| 浠水县| 塘沽区| 建始县| 克拉玛依市| 墨玉县| 曲沃县| 新巴尔虎左旗| 洪洞县| 安义县| 隆安县| 萨迦县| 邢台县| 葫芦岛市| 定陶县| 凭祥市| 呈贡县| 吉林省| 遂溪县| 夹江县| 会同县| 东莞市| 永春县| 金乡县| 临高县| 乌拉特前旗| 博白县| 青田县| 肃宁县| 佛冈县|