首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python Optparse列表

Python Optparse列表
EN

Stack Overflow用户
提问于 2008-12-24 18:54:53
回答 4查看 25.1K关注 0票数 39

我在我的程序中使用了python optparse模块,但是我很难找到一种简单的方法来解析包含值列表的选项。

例如:

代码语言:javascript
运行
复制
--groups one,two,three. 

我希望能够以options.groups[]的列表格式访问这些值。是否有optparse选项可以将逗号分隔值转换为列表?或者我必须手动完成此操作?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-12-24 19:03:52

看看option callbacks吧。您的回调函数可以使用基本的optarg.split(',')将值解析为列表

票数 40
EN

Stack Overflow用户

发布于 2008-12-24 21:50:35

S.Lott的答案已经被接受,但这里有一个归档的代码样本:

代码语言:javascript
运行
复制
def foo_callback(option, opt, value, parser):
  setattr(parser.values, option.dest, value.split(','))

parser = OptionParser()
parser.add_option('-f', '--foo',
                  type='string',
                  action='callback',
                  callback=foo_callback)
票数 84
EN

Stack Overflow用户

发布于 2015-03-27 20:53:43

同样,为了归档的完整性,扩展上面的示例:

  • 您仍然可以使用“

”来指定以后访问的选项名称。在这种情况下,不能使用默认值(请参阅

  • 中的说明您想要验证输入,应从foo_callback

抛出OptionValueError

代码(经过微小的修改)将是:

代码语言:javascript
运行
复制
def get_comma_separated_args(option, opt, value, parser):
    setattr(parser.values, option.dest, value.split(','))

parser = OptionParser()
parser.add_option('-f', '--foo',
                  type='string',
                  action='callback',
                  callback=get_comma_separated_args,
                  dest = foo_args_list)
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/392041

复制
相关文章

相似问题

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