Arg解析不返回float

时间:2015-12-30 01:22:12

标签: python command-line argparse

我正在尝试创建一个控制文件音量的函数。 我不明白为什么会出现这个错误,因为我应该简单地返回一个浮动

parser.add_argument('--volume','-v', default=None, type=float,help='Number  between 0.0 and 1.0 indicating volume level')
    print args.volume

python audio.py -v 0.333338 (terminal input)

    usage: audio.py [-h] [--volume VOLUME] phrase [phrase ...]
            audio.py: error: too few arguments

以下是解析器的初始化

 parser = argparse.ArgumentParser()
    parser.add_argument('--volume','-v', default=None, type=float,help='Number  between 0.0 and 1.0 indicating volume level')
    parser.add_argument('phrase', nargs='+', help="Audio phrase for interpretation")
    args = parser.parse_args()

2 个答案:

答案 0 :(得分:2)

  

phrase

您缺少python audio.py -v 0.333338 some_phrase_here 参数:

{{1}}

答案 1 :(得分:0)

使用python 2.7.10和这段代码片段工作正常:

import argparse

parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('--volume','-v', default=None, type=float,help='Number between 0.0 and 1.0 indicating volume level')
args = parser.parse_args()
print args.volume

尝试复制粘贴相同的代码段并让我知道它是否有效。 我的输出如下:

:-/temp$ python audio.py -v 0.333338
0.333338