XiaoKL學Python(D)argparse

來源:互聯網
上載者:User

標籤:

該文以Python 2為基礎。

1. argparse簡介

argparse使得編寫方便使用的命令列介面更簡單。

argparse知道如何解析sys.argv。

argparse 模組自動產生 “協助” 資訊和 “使用” 資訊。

當使用者使用了錯誤的參數,argparse則報錯。

2. argparse的使用

A) 使用argparse的第一步需要 建立ArgumentParser對象。

ArgumentParser對象將持有所有的解析命令的必要資訊。

B) add_argument() 添加 關於程式參數的資訊。

C) ArgumentParser對象使用 方法parse_args() 來解析參數。該方法檢查命令列,將每個參數轉換為

合適的類型,然後調用合適的Action。

3. ArgumentParser對象

建立新的ArgumentParser對象,所有的參數應該以 keyword arguments 進行傳參。

1 class argparse.ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], 
formatter_class=argparse.HelpFormatter, prefix_chars=‘-‘, fromfile_prefix_chars=None,
argument_default=None, conflict_handler=‘error‘, add_help=True)

 

prog: The name of the program (程式的名字)

usage: 描述如何使用程式。

description: 在 程式協助 前面顯示的文本。(預設:None)

epilog: 

parents:

formatter_class:

prefix_chars:

fromfile_prefix_chars:

argument_default:

conflict_handler:

add_help:

 

4. add_argument() 方法
1 ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices]
[, required][, help][, metavar][, dest])

 

5. Demo: ArgParseDemo.py
 1 from __future__ import print_function 2 import argparse 3  4  5 def main(): 6     parser = argparse.ArgumentParser() 7     parser.add_argument(‘bar‘, nargs=‘?‘) 8     parser.add_argument(‘foo‘, nargs=‘?‘) 9     args = parser.parse_args()10     print("foo: %s" % args.foo)11     print("bar: %s" % args.bar)12 13 if __name__ == ‘__main__‘:14     main()

運行該指令碼如下: 

$ python ArgParseDemo.py ooo pp

foo: pp

bar: ooo

 

 

Reference

1. https://docs.python.org/2/library/argparse.html

 

XiaoKL學Python(D)argparse

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.