相关疑难解决方法(0)

为什么argparse给我一个列表清单?

我刚刚注意到argparse中的一个行为使我感到困惑(我猜我之前从未使用它作为一个愚蠢的文件列表):

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('multi', action='append', nargs='+')
print(parser.parse_args())
Run Code Online (Sandbox Code Playgroud)

这给了我输出:

~$ ./testargs.py foo bar baz
Namespace(multi=[['foo', 'bar', 'baz']])
~$ 
Run Code Online (Sandbox Code Playgroud)

我希望multi是['foo', 'bar', 'baz'],不是一个列表中列表.按原样,我必须args.multi[0]在处理之前抓住,这不是什么大问题,但感觉就像一个丑陋的疣,我想知道为什么它在那里.

我是在做傻事add_argument,还是这只是一个不可避免的怪癖?

python argparse

25
推荐指数
1
解决办法
7663
查看次数

标签 统计

argparse ×1

python ×1