各類語言處理命令行參數的方法

Python

argparse

python2.7/3.2 引入了一個 argparse 的module
https://docs.python.org/2/library/argparse.html
https://docs.python.org/3.5/library/argparse.htmlhtml

import argparse
# 建立parser
parser = argparse.ArgumentParser(description='Process some integers.')
# 建立參數
# 'integers' -> 沒有 - 開頭,建立的是 positional argument
# metavar='N' -> 在usage中顯示爲 N, 而不是 integers
# type=int
# nargs='+' -> 至少一個值
# help='...' -> 幫助信息
parser.add_argument('integers', metavar='N', type=int, nargs='+',
                    help='an integer for the accumulator')
# '--sum' -> 有 - 開頭,建立的是 optional argument
# dest='accumulate' -> 最終訪問的成員名,默認是sum
# action='store_const' -> 存儲const的值
# const=sum -> 空參數是sum
# default=max -> 默認參數是max
parser.add_argument('--sum', dest='accumulate', action='store_const',
                    const=sum, default=max,
                    help='sum the integers (default: find the max)')
# parse參數
parser.parse_args(['--sum', '7', '-1', '42'])

java

Commons CLI

<dependency>
  <groupId>commons-cli</groupId>
  <artifactId>commons-cli</artifactId>
  <version>1.4-SNAPSHOT</version>
</dependency>
// create Options object
Options options = new Options();

// add t option
options.addOption("t", false, "display current time");

// parse options
CommandLineParser parser = new DefaultParser();
CommandLine cmd = parser.parse(options, args);

if(cmd.hasOption("t")) {
    // print the date and time
}
else {
    // print the date
}
相關文章
相關標籤/搜索