Argparse有类型作为选择

时间:2015-01-05 22:21:40

标签: python python-2.7 argparse optparse

我有一些旧代码,其中optparse作为其参数库。它有一个类型作为参数之一

type = "choice"

我正在尝试将我的代码转换为argparse。我该怎么把这个类型?如果我添加type = choice,则会抛出错误:

NameError: global name 'choice' is not defined

如果我使用argparse,这里的类型值应该是什么?

1 个答案:

答案 0 :(得分:2)

optparse中,choice类型只是string的一种特殊形式。来自optparse documenattion

  

"choice"个选项是"string"个选项的子类型。 choices选项属性(字符串序列)定义了允许的选项参数集。

您无需在argparse中将其指定为类型;您需要提供的只是选择。完全删除type参数,或者如果您想要明确,请将其设置为str

另请参阅argparse optparse;这比{{1}}更灵活,因为这也允许选择不是字符串的类型。