1. args4j -- Java
public class Args {
@Option(required = true, name = "-arg1", usage = "arg1, desc")
private String arg1;
@Option(required = true, name = "-arg2", usage = "arg2, desc")
private String arg2;
@Option(required = true, name = "-arg3", usage = "arg3, desc")
private String arg3;
getter and setter ......
}
private Args parseArgs(String[] args) {
Args myArgs = new Args();
CmdLineParser parser = new CmdLineParser(myArgs);
if (args.length > 0 && args[0].trim().equals("-h")) {
System.out.println("Usage descrition. options: ");
parser.printUsage(System.out);
return null;
}
try {
parser.parseArgument(args);
} catch (CmdLineException e) {
System.out.println(e.getMessage());
parser.printUsage(System.out);
myArgs = null;
}
return myArgs;
}
2. OptionParser -- Python
from optparse import OptionParser
def get_user_paras():
try:
opt = OptionParser()
opt.add_option('--a',
dest='aParam',
type=str,
help='a parameter.')
opt.add_option('--b',
dest='bParam',
type=str,
help='b parameter.')
opt.add_option('--c',
dest='cParam',
type=str,
help='c parameter.')
(options, args) = opt.parse_args()
is_valid_paras = True
error_messages = []
aParam = options.aParam
bParam = options.bParam
cParam = options.cParam
if not aParam:
error_messages.append("aParam must be set;")
is_valid_paras = False
if not bParam:
error_messages.append("bParam must be set;")
is_valid_paras = False
if not cParam:
error_messages.append("cParam must be set;")
is_valid_paras = False
if is_valid_paras:
user_paras = {"aParam": aParam, "bParam": bParam, "cParam":cParam}
return user_paras
else:
for error_message in error_messages:
print(error_message)
opt.print_help()
return None
except Exception as ex:
print("exception :{0}".format(str(ex)))
return None