Python
argparse
python2.7/3.2 引入了一个 argparse 的module
https://docs.python.org/2/library/argparse.html
https://docs.python.org/3.5/library/argparse.html
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
}