標籤:
該文以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