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'])
<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 }