`
Jameslyy
  • 浏览: 401628 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

命令行参数解析 args4j/OptionParser - Java/Python

阅读更多

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

 

 

 

分享到:
评论

相关推荐

    python 命令行参数

    `optparse`模块是Python中用于解析命令行选项的一个强大工具,它允许开发者以直观的方式定义和解析命令行参数。下面将详细介绍如何使用`optparse`模块,并通过一个示例来具体说明其工作原理。 ##### 初始化`...

    python命令行参数用法实例分析

    总结来说,`optparse`是Python 2.x中处理命令行参数的有效工具,通过创建OptionParser对象、添加选项、解析参数和处理选项,可以轻松地构建具有命令行选项的Python脚本。虽然在Python 3.x中已被`argparse`替代,但在...

    python命令行传参详解,optparse模块OptionParse类的学习.pdf

    解析命令行参数使用`parse_args()`方法,它返回一个元组,包含两个元素:一个包含选项值的对象(`options`)和一个包含未被选项占用的剩余参数的列表(`args`): ```python (options, args) = parser.parse_args()...

    Python处理命令行参数模块optpars用法实例分析

    最后,在程序的main函数中调用parse_args()方法来解析命令行参数,并通过options对象访问这些参数的值。 在实际编程中,使用optparse模块可以提高代码的灵活性和用户的交互体验。举一个简单的例子,如果你有一个...

    利用python-nmap模块探测所有主机445端口的开放状态.pptx

    可以使用 OptionParser 库来解析命令行参数,使得函数可以从命令行中指定目标主机和端口。 ``` def main(): parser = optparse.OptionParser('usage %prog –H <target host> -p <target port>') parser.add_...

    Python库 | scopt-0.0.3-py3-none-any.whl

    `parser.parse_args()`会解析命令行参数并返回一个包含选项和剩余参数的元组,从而方便我们获取和处理用户输入。 总的来说,`scopt`库为Python开发者提供了一种简单易用的方式来处理命令行参数,提高了代码的可读性...

    python optparse命令解析模块.docx

    `parse_args()`方法用于解析命令行参数,返回一个元组`(options, args)`,`options`是一个包含所有选项值的对象,`args`是未被选项占用的位置参数列表。 `action`参数有多种类型: - `action='store'`:默认类型,...

    python远程开启关闭的计算机

    2. **命令行参数**:通过`optparse`模块解析命令行参数,包括广播地址、端口号以及目标MAC地址。 3. **数据包构造**:根据WOL协议构造魔法数据包,其中包含了前导序列和目标MAC地址。 #### 六、示例代码详解 ```...

    Python中optparser库用法实例详解

    Python中的`optparser`库是处理命令行参数的工具,主要设计用于编写脚本时接收命令行选项。本文将深入探讨`optparser`库的使用方法,包括如何引入、初始化、添加选项以及核心功能。 首先,`optparser`库的引入很...

    Python实现Linux的find命令实例分享

    4. **解析命令行参数**:`parser.parse_args()`会返回一个元组,其中`options`对象包含了所有指定的选项,`args`则是未被选项占用的参数,通常代表待搜索的目录。 5. **`find`函数**:这是核心部分,遍历`args`中的...

    python相似模块用例

    `getopt`和`optparse`(在Python 3中已被`argparse`取代)用于解析命令行参数,提供了一种标准的方式来处理Unix样式的选项。 1. 使用`getopt`模块处理Unix模式的命令行选项: `getopt.getopt()`函数接收命令行参数...

    python optparse模块使用实例

    Python的`optparse`模块是Python 2.x版本中用于处理命令行选项的工具,它提供了方便的方式来定义、解析和验证命令行参数。在Python 3.x中,`optparse`已被更强大的`argparse`模块所替代,但对仍在使用Python 2.x的...

    python整合ffmpeg实现视频文件的批量转换

    ### Python整合FFmpeg实现视频文件的批量转换 在数字化时代,多媒体内容的处理与转换变得尤为重要,尤其是在视频处理领域。...此外,通过扩展命令行参数,还可以进一步定制转换过程,以适应更多复杂的需求场景。

    Python端口扫描简单程序

    - 使用`optparse`模块解析命令行参数,方便用户指定目标主机和端口。 - 使用多线程加速扫描过程,每个端口扫描任务都在单独的线程中运行。 - `portScan()`函数负责处理目标主机的IP解析、名称解析以及遍历所有待...

Global site tag (gtag.js) - Google Analytics