OptionParser()在Python中显示选项时--help
我需要为我的脚本创建一个“接口”,以便(通过crontab运行):OptionParser()在Python中显示选项时--help,python,optparse,optionparser,Python,Optparse,Optionparser,我需要为我的脚本创建一个“接口”,以便(通过crontab运行): 当--help时,终端将显示一个选项列表(格式良好,以\n分隔) 允许多选输入(逗号分隔) e、 g.(类似于下面的内容) 使用type=“choices”是否仍然可以这样做? 或者我可以使用type=“string”?我试图在“help”选项下的选项之间插入\n,但在运行时似乎忽略了这些选项 必须与python 2.4兼容:(尝试查看argparse的文档,应该做您需要的事情-并且默认情况下内置了帮助(-h,--help) 这
type=“choices”
是否仍然可以这样做?
或者我可以使用type=“string”
?我试图在“help”选项下的选项之间插入\n
,但在运行时似乎忽略了这些选项
必须与python 2.4兼容:(尝试查看argparse的文档,应该做您需要的事情-并且默认情况下内置了帮助(-h,--help)
这是如何更改
用法的示例。请尝试:
from optparse import OptionParser
string = "Choices:\n\tdog\n\tcat\n\tfish"
parser = OptionParser(usage=string)
(options,args) = parser.parse_args()
您还可以将字符串更改为此样式:
string = """
Choices:
dog
cat
fish
"""
然后测试它:
$python code.py --help
在中,将向您显示类似以下结果的内容:
Usage:
Choices:
dog
cat
fish
Options:
-h, --help show this help message and exit
请看这些相关问题,第一个问题有一个很好的“type='choice'”示例,第二个问题有多个值:
您可以使用类似的方法或“手动”处理参数:
然后,运行:
python test.py --pet cat --pet dog --pet fish
您想为脚本添加选项?或者希望创建交互区域?例如:选择您的选项:1)foo 2)bar,然后用户将选择其中一个?它需要在cronjob上运行。。。所以不能交互:(我没有完全理解你。你想在你的脚本中在python 2.4中得到argv
?所以你没有测试sys.argv
?在OptionParser代码中,我指定了详细信息--help,我需要添加新行…这可能吗?帮助内容的新行?你的意思是:“选项:\n\tdog\n\tcat\n\tfish”?需要与2.4兼容:(您可以为2.7之前的版本安装它-谷歌it@user3388884不,你不需要…即使你这样做了,正如gkusner所指出的,你也可以安装argparse
作为第三方模块。请看,事实上argparse
可以从python2.3开始运行。问题有点不同。我已经尝试过评论,但我没有足够的信誉现在有一个类似问题的链接。感谢您提供的提示,下次我将详细说明一个更好的答案!我改进了答案,使用了示例代码,根据另一个问题改编并缩短了版本。其他相关问题:
from optparse import OptionParser
def get_args():
usage = "Usage: %prog [options]"
parser = OptionParser()
parser.add_option("--pet",
type = "choice",
action = 'append',
choices = ["dog", "cat", "fish"],
default = [],
dest = pets,
help = "Available pets: [dog, cat, fish]"
)
(options, args) = parser.parse_args()
print options, args
return (options, args)
(opt, args) = get_args()
print opt.pets
python test.py --pet cat --pet dog --pet fish