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

歡迎訪問 生活随笔!

生活随笔

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

python

python-argparse使用

發布時間:2024/9/15 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python-argparse使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python-argparse使用

官方文檔:https://docs.python.org/zh-cn/3.7/library/argparse.html?highlight=argparse#module-argparse

argparse 模塊可以編輯用戶友好的命令行接口

import argparse""" 獲取一個整數數列并計算合計或者最大值 """parser = argparse.ArgumentParser(description='Process some integers.') parser.add_argument('integers', metavar='N', type=int, nargs='+',help='an integer for the accumulator') parser.add_argument('--sum', dest='accumulate', action='store_const',const=sum, default=max,help='sum the integers (default: find the max)')args = parser.parse_args() print(args.accumulate(args.integers))

1.創建一個解析器

  parser = argparse.ArgumentParser(description='Process som integers.')

  ArgumentParser對象包含將命令行解析成Python數據類型所需的全部信息

"""Object for parsing command line strings into Python objects.
  • prog - 程序的名稱(默認:sys.argv[0])
  • usage - 描述程序用途的字符串(默認值:從添加到解析器的參數生成)
  • description - 在參數幫助文檔之前顯示的文本(默認值:無)
  • epilog - 在參數幫助文檔之后顯示的文本(默認值:無)
  • parents - 一個 ArgumentParser 對象的列表,它們的參數也應包含在內
  • formatter_class - 用于自定義幫助文檔輸出格式的類
  • prefix_chars - 可選參數的前綴字符集合(默認值:'-')
  • fromfile_prefix_chars - 當需要從文件中讀取其他參數時,用于標識文件名的前綴字符集合(默認值:None)
  • argument_default - 參數的全局默認值(默認值: None)
  • conflict_handler - 解決沖突選項的策略(通常是不必要的)
  • add_help - 為解析器添加一個 -h/--help 選項(默認值: True)
  • allow_abbrev - 如果縮寫是無歧義的,則允許縮寫長選項 (默認值:True)
"""

2.添加參數

  給ArgumentParser添加程序參數是通過調用add_argument()方法完成的,通常這些調用指定ArgumentParser如何過去命令行參數并將其轉化為對象。這些信息在parse_args()調用時存儲和使用

parser.add_argument('integers',metavar='N', type=int, nargs='+', help='an integer for the accumulator')parser.add_argument('--sum',dest='accumulate', action='store_const', const=sum, default=max, help='sum the integers(default: find the max)')

 當調用parser.parse_args()將返回一個具有integers和accumulate兩個屬性的對象。integers屬性將是一個包含一個或者多個整數的列表,而accumulate 屬性當命令行中指定了 --sum參數時,將是sum()函數,否則則是max()函數。

  add_argument()方法:

name or flags - Either a name or a list of option strings, e.g. foo or -f, --foo. action - 將命令行參數和操作關聯操作:store:默認操作,將參數存儲parser.add_argument('--foo')parser.parse_args('--foo 1'.split())->Namespace(foo='1')store_const:這個操作將存儲const關鍵字指定的值parser.add_argument('--foo', action='store_const', const=42)parser.parse_args(['--foo'])->Namespace(foo=42)store_true & store_false:這兩個操作是store_const中的特殊操作,將創建默認的值:False/Trueparser.add_argument('--foo',action='store_true')parser.add_argument('--bar',action='store_false')parser.add_argument('--baz',action='store_false')parser.parse_args('--foo --bar'.split())->Namespace(foo=True,bar=False,baz=True)append:這個操作將命令行參數存儲為一個集合parser.add_argument('--foo',action='append')parser.parse_args('--foo 1 --foo 2'.split())->Namespace(foo=['1','2,])append_const:這將存儲一個列表,并將const關鍵字參數指定的值附加到該列表。(注意,const關鍵字參數默認為none。)當多個參數需要將常量存儲到同一列表時,“append-const”操作通常很有用parser.add_argument('--str', dest='types', action='appent_const',const=str)parser.add_argument('--int', dest='types', action='append_const',const=int)parser.parse_args('--str --int'.split())->Namespace(types=[<class 'str'>,<class 'int'>])count:統計命令行參數中出現的次數parser.add_argument(‘--verbose','-v',action='count')parser.parse_args(['-vvv'])->Namespace(verbose=3).nargs - 將不同數量的命令行參數與單個操作關聯.      parser.add_argument('--foo',nargs=2)parser.add_argument('bar',nargs=1)parser.parse_args('c --foo a b'.split())->Namespace(bar=['c'],foo=['a','b']) const - 某些action和nargs選項要求的常數值。 default - 如果命令行中沒有出現該參數時的默認值。 type - 命令行參數應該被轉換成的類型。 choices - 參數可允許的值的一個容器。 required - 該命令行選項是否可以省略(只針對可選參數)。 help - 參數的簡短描述。 metavar - 參數在幫助信息中的名字。 dest - 給parse_args()返回的對象要添加的屬性名稱。

 

?

3.解析參數

  ArgumentParser通過parser_args()方法解析參數。它將檢查命令行,把每個參數轉換為適當的類型然后調用響應的操作。 大多數情況下,將常見一個Namespace對象 

parser.parse_args(['--sum','7','-1','42']) ->Namespace(accumulate=<built -in function sum>, integers=[7,-1,42])

  在腳本中parse_args()方法是不用帶參數的,而是自動從sys.argv中確定命令行參數

?

其他博客:https://www.cnblogs.com/piperck/p/8446580.html

posted @ 2019-04-03 15:16 巡山小妖N 閱讀(...) 評論(...) 編輯 收藏

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的python-argparse使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 床上激情网站 | 国产精品久久国产精麻豆96堂 | 又黄又色 | 欧美国产综合 | 香蕉久久久久久久av网站 | 狠狠干狠狠艹 | 欧美午夜精品久久久久免费视 | 国产精品外围 | 日本在线不卡一区二区三区 | 国产冒白浆 | 久久成人在线 | 日韩欧美精品久久 | 国产一区,二区 | 亚洲第一自拍 | 成人免费毛片男人用品 | 亚洲精品国产欧美在线观看 | 日日燥夜夜燥 | 欧美成人猛片aaaaaaa | 国产又粗又长又黄视频 | 99久久精品国产色欲 | 美女被草 | 在线观看免费的av | 欧美h视频在线观看 | 欧美精品在线一区二区三区 | 免费av网页 | 国产在线喷水 | 一区www| 国外av网站 | 娇妻玩4p被三个男人伺候电影 | 神马伦理影视 | 青青视频一区二区 | 18+视频在线观看 | 一二三不卡 | 国产高清精品一区二区三区 | 熟女视频一区 | 在线资源av | 男女无遮挡免费视频 | 中文字幕精品无 | 免费黄色在线看 | 亚洲av人无码激艳猛片服务器 | 另类专区欧美 | 欧美精品欧美极品欧美激情 | 国产农村妇女精品久久久 | 久久这里只有精品国产 | 成年人黄色一级片 | 欧美老熟妇乱大交xxxxx | 2019天天操 | 亚洲啊啊啊啊啊 | 污片视频在线观看 | 中文字幕一区二区久久人妻网站 | 操网 | 国内精品在线观看视频 | 国产精品福利一区二区三区 | 成人免费毛片入口 | 国产一区在线视频观看 | 日韩性在线 | 无码gogo大胆啪啪艺术 | 自拍偷拍日韩精品 | 综合网视频 | 亚洲av色香蕉一区二区三区 | 国产视频91在线 | 中文字幕无线码一区 | 丝袜av电影| 久久精品大全 | 婷婷国产在线 | 操她视频在线观看 | 天天爽天天爱 | 初尝黑人巨炮波多野结衣 | 国产欧美一区二区三区在线老狼 | 成人在线播放av | 兔费看少妇性l交大片免费 日韩高清不卡 | 国内精品人妻无码久久久影院蜜桃 | 视频一区二区三 | 国产一级二级三级在线 | 午夜精品久久久久久久96蜜桃 | 欧美大色 | 欧美一二三级 | 中文字幕一区二区人妻电影 | 成人刺激视频 | 日韩精品中文字幕一区二区 | 一级黄色片片 | 国产免费成人av | 欧美性xxxxx 亚洲特黄一级片 | 国产精品福利导航 | 亚洲精品乱码久久久久久国产主播 | 国产a√精品区二区三区四区 | 日韩女优在线观看 | 久久国产精品波多野结衣av | 超碰66 | 国产精品久久一区 | 天堂va欧美va亚洲va老司机 | 亚洲精品色 | 4hu最新网址 | 毛片毛片 | 在线国产区 | 一级黄毛片 | 亚洲成年人在线观看 | 91系列在线观看 | 午夜免费影院 |