擅长:python、mysql、java
<p>再次,为了归档的完整性,扩展上面的示例:</p>
<ul>
<li>您仍然可以使用“dest”指定选项名称以供以后访问</li>
<li>在这种情况下不能使用默认值(请参见<a href="https://stackoverflow.com/questions/14568141/triggering-callback-on-default-value-in-optparse">Triggering callback on default value in optparse</a>中的说明)</li>
<li>如果您想验证输入,OptionValueError应该从foo\u回调中抛出</li>
</ul>
<p>代码(稍加修改)将是:</p>
<pre><code>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)
</code></pre>