1. 程式人生 > >python使用argparse模組寫命令列內容

python使用argparse模組寫命令列內容

寫命令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 也有第三方的庫可用於命令列解析,而且功能也更加強大,比如 docoptClick

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