我使用argcomplete完成命令,并有以下示例代码:
#!/usr/bin/env python
# PYTHON_ARGCOMPLETE_OK
import argparse
import argcomplete
from argcomplete import warn
def MySubCompleter(prefix, parsed_args, **kwargs):
warn(parsed_args)
return ['1','2']
def MySubSubCompleter(prefix, parsed_args, **kwargs):
warn(parsed_args)
return ['3','4']
parser = argparse.ArgumentParser()
parser.add_argument('--parser')
subparsers = parser.add_subparsers(dest='level1')
subparser = subparsers.add_parser('sub',help='sub')
subparser.add_argument('--subvar',dest='sub').completer = MySubCompleter
subsubparsers = subparser.add_subparsers(dest='level2')
subsubparser = subsubparsers.add_parser('subsub',help='subsub')
subsubparser.add_argument('--subsubvar',dest='subsubvar').completer = MySubSubCompleter
argcomplete.autocomplete(parser)
args = vars(parser.parse_args())
为什么我要做以下事情:
^{pr2}$我只看到以下几点:
> Namespace(level1='sub', parser=None)
3 4
所以在解析的参数中我看不到level2='subsubsub'(请参见名称空间)。在
目前没有回答
相关问题 更多 >
编程相关推荐