jjzjj

optparse

全部标签

python - Ruby optparse 限制

我目前使用Python编写脚本,但出于多种原因我希望尝试使用Ruby。在上周,我查看了大量示例代码并阅读了大量文档。我担心的一点是Ruby中缺少合适的命令行参数解析库。Ruby专家,不要生我的气——也许我不知道。这就是我来这里的原因。在Python中,我习惯于使用argparse,我认为它非常完美(也许满足我的需要)。不幸的是,OptionParser没有argparse的灵active和功能。我现在特别关注以下限制:如何制作相互排斥的选项列表?例如名为test的程序的一个非常小的选项列表。usage:test[-h][-a|-b|-c][-d][filename]我可以写一些代码:#

python - 负 bool 选项——在 optparse 中没有什么?

使用optparse,是否有一种简单的方法来定义否定选项,例如--no-cleanup?我是这样做的,但它很麻烦而且容易出错,特别是由于None检查很容易忘记和遗漏:#!/bin/envpythonfrom__future__importprint_functionimportsysimportoptparsedefmain(argv):parser=optparse.OptionParser("usage:%prog[options]")parser.add_option("--no-cleanup",dest="cleanup",action="store_false",help=

python - 是否可以在 optparse 中强制执行一个选项?

是否可以将optparse中的选项设置为强制选项? 最佳答案 我之前发表了评论,但考虑到许多其他答案都说不,不可能,这里是如何做到的:parser=OptionParser(usage='usage:%prog[options]arguments')parser.add_option('-f','--file',dest='filename',help='foohelp')(options,args)=parser.parse_args()ifoptions.filenameisNone:#iffilenameisnotgivenp

python - 禁用 argparse 和 optparse 的唯一前缀匹配

当我使用Python的argparse或optparse命令行参数解析器时,参数的任何唯一前缀都被认为是有效的,例如$./buildall.py--helpusage:buildall.py[-h][-f]Buildallrepositoriesoptionalarguments:-h,--helpshowthishelpmessageandexit-f,--forceBuilddirtyrepositories与--help、--hel、--he一起用于帮助选项以及--forc和--fo用于强制选项。可以以某种方式关闭此行为吗?我想收到不完整参数的错误消息。

python - 使用 optparse 将 stdin 和 stdout 重定向到 python 中的文件的一致方法

我有十几个程序可以通过标准输入或选项接受输入,我想以类似的方式为输出实现相同的功能。optparse代码如下所示:parser.add_option('-f','--file',default='-',help='Specifiestheinputfile.Thedefaultisstdin.')parser.add_option('-o','--output',default='-',help='Specifiestheoutputfile.Thedefaultisstdout.')其余的适用代码如下所示:ifopts.filename=='-':infile=sys.stdinel

python - 使用文件存储 optparse 参数

我已经使用optparse一段时间了,并且想添加从配置文件加载参数的功能。到目前为止,我能想到的最好的是带有硬编码参数的包装批处理脚本……看起来很笨重。最优雅的方法是什么? 最佳答案 我同意S.Lott使用配置文件的想法,但我建议使用内置的ConfigParser(3.0中的configparser)模块来解析它,而不是自制的解决方案。这是一个简短的脚本,说明了ConfigParser和optparse在行动中。importConfigParserfromoptparseimportOptionParserCONFIG_FILENA

Python optparse 元变量

我不确定optparse的metavar参数是做什么用的。我看到它到处都在使用,但我看不到它的用途。有人可以告诉我吗?谢谢。 最佳答案 正如@Guillaume所说,它用于生成帮助。如果您想要一个带有参数的选项,例如文件名,您可以将metavar参数添加到add_option调用中,以便输出首选参数名称/描述符在帮助消息中。来自thecurrentmoduledocumentation:usage="usage:%prog[options]arg1arg2"parser=OptionParser(usage=usage)parser

Python Optparse 列表

我在我的程序中使用了pythonoptparse模块,但我无法找到一种简单的方法来解析包含值列表的选项。例如:--groupsone,two,three.我希望能够以options.groups[]的列表格式访问这些值。是否有optparse选项将逗号分隔值转换为列表?还是我必须手动执行此操作? 最佳答案 S.Lott的回答已被接受,但这里是存档的代码示例:deffoo_callback(option,opt,value,parser):setattr(parser.values,option.dest,value.split(',

python - Python 的 optparse 可以显示选项的默认值吗?

当使用--help显示帮助时,有没有办法让Python的optparse打印选项或标志的默认值? 最佳答案 尝试使用%default字符串占位符:#Thisexampletakenfromhttp://docs.python.org/library/optparse.html#generating-helpparser.add_option("-m","--mode",default="intermediate",help="interactionmode:novice,intermediate,""orexpert[default

Python optparse 值实例

如何获取opt结果opt,args=parser.parse_args()并将其放在字典中?Python调用opt一个“值实例”,我找不到任何方法将值实例转换为列表或字典。不能以这种方式从opt复制项目,foriinopt:myDict[i]=opt[i]相反,它很笨拙,myDict[parm1]=opt.parm1myDict[parm2]=opt.parm2这意味着每次我添加一个选项时,我都必须更新这段代码;应该有办法让它自己解决。 最佳答案 options,args=parser.parse_args()option_dict