python optparse,可选选项的默认值

丹尼尔

这更像是一个代码设计问题。文件的字符串/目录/全名类型的可选选项的良好默认值是多少?

让我们说我有这样的代码:

import optparse
parser = optparse.OptionParser()
parser.add_option('-i', '--in_dir', action = "store", default = 'n', help = 'this is an optional arg')
(options, args) = parser.parse_args()  

然后我做:

if options.in_dir == 'n':
    print 'the user did not pass any value for the in_dir option'
else:
    print 'the user in_dir=%s' %(options.in_dir)

基本上,我想拥有默认值,这意味着用户没有输入这样的选项,而不是实际值。使用'n'是任意的,是否有更好的建议?

琼斯·哈珀

您可以使用一个空字符串,""Python将该字符串解释为False您可以简单地测试:

if options.in_dir:
    # argument supplied
else:
    # still empty, no arg

或者,使用None

if options.in_dir is None:
    # no arg
else:
    # arg supplied 

请注意,根据文档,后者是未提供参数的默认值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章