python使用argparse模組寫命令列內容
阿新 • • 發佈:2018-12-31
寫命令python和C是有很大區別的。C可以通過mian函式,而python可以通過呼叫內建模組。
import argparse parse = argparse.ArgumentParser() parse.add_argument('bug_feature', help='file that only contains one feature of bug function') parse.add_argument('function_feature', help='file that contains one or more function feature') args = parse.parse_args() bug_feature = args.bug_feature func_feature = args.function_feature
argparse 是 Python 內建的一個用於命令項選項與引數解析的模組,通過在程式中定義好我們需要的引數,argparse 將會從 sys.argv 中解析出這些引數,並自動生成幫助和使用資訊。當然,Python 也有第三方的庫可用於命令列解析,而且功能也更加強大,比如 docopt,Click。
argparse 使用
簡單示例
我們先來看一個簡單示例。主要有三個步驟:
- 建立 ArgumentParser() 物件
- 呼叫 add_argument() 方法新增引數
- 使用 parse_args() 解析新增的引數
# -*- coding: utf-8 -*- import argparse parser = argparse.ArgumentParser() parser.add_argument('integer', type=int, help='display an integer') args = parser.parse_args() print args.integer
將上面的程式碼儲存為檔案 argparse_usage.py
,在終端執行,結果如下:
$ python argparse_usage.py usage: argparse_usage.py [-h] integer argparse_usage.py: error: too few arguments $ python argparse_usage.py abcd usage: argparse_usage.py [-h] integer argparse_usage.py: error: argument integer: invalid int value: 'abcd' $ python argparse_usage.py -h usage: argparse_usage.py [-h] integer positional arguments: integer display an integer optional arguments: -h, --help show this help message and exit $ python argparse_usage.py 10 10
詳細內容可以參考極客學院,和另外別人的一篇部落格,那裡講的很清楚。
http://wiki.jikexueyuan.com/project/explore-python/Standard-Modules/argparse.html
https://blog.csdn.net/lis_12/article/details/54618868