首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中使用optparse

在Python中使用optparse
EN

Stack Overflow用户
提问于 2011-05-20 01:30:13
回答 3查看 2.1K关注 0票数 2

有没有一种方法可以在Python中配置optparse以避免使用-?所以而不是

代码语言:javascript
复制
%program -d optionvalue

我得到了

代码语言:javascript
复制
%program d optionvalue

目前,当我试着做

代码语言:javascript
复制
parser.add_option('d', '--database')

我得到以下错误:

代码语言:javascript
复制
optparse.OptionError: invalid option string 'd': must be at least two characters long

任何帮助都将不胜感激!谢谢

EN

回答 3

Stack Overflow用户

发布于 2011-05-20 01:33:26

总之,没有。

用于提供额外信息以指导或自定义程序执行的参数。选项有许多不同的语法;传统的Unix语法是连字符(“-”),后面跟着一个字母,例如-x或-F。此外,传统Unix语法允许将多个选项合并到一个参数中,例如,-x -F等效于-xF。GNU项目引入了--然后是一系列连字符分隔的单词,例如-file或-- The。--这是optparse.提供的唯一两个选项语法

http://docs.python.org/library/optparse.html#terminology

你得自己去分析。

票数 6
EN

Stack Overflow用户

发布于 2011-05-20 16:41:23

parse_args()允许您提供自己的参数列表,而不仅仅是使用默认使用的sys.argv[1:]。因此,您可以预处理命令行参数,然后将它们传递给optargs。假设您希望所有的1-字符参数都算作选项键:

代码语言:javascript
复制
orig_args = sys.argv[1:]
new_args = []
for arg in orig_args:
    if len(arg) == 1:
        arg = '-' + arg
    new_args.append(arg)

(options, args) = parser.parse_args(new_args)

(您也可以子类OptionParser并将其放在那里)

票数 1
EN

Stack Overflow用户

发布于 2011-05-20 01:35:26

您可以强制使用use回调操作:

http://docs.python.org/library/optparse.html#callback-example-6-variable-arguments

,这使您可以原始访问左右args。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6066596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档