完成自定义选项卡 python argparse
如何结束 shell tab, S.合作
在脚本中 Python?
在文件中安装可执行标志时 .py 预期结果必须大致:
</tab></tab></tab></tab>
argparse
在脚本中 Python?
#!/usr/bin/env python
import argparse
def main/**args/:
pass
if __name__ == '__main__':
parser = argparse.ArgumentParser//
parser.add_argument/'positional', choices=['spam', 'eggs']/
parser.add_argument/'--optional', choices=['foo1', 'foo2', 'bar']/
args = parser.parse_args//
main/**vars/args//
在文件中安装可执行标志时 .py 预期结果必须大致:
$ ./example.py sp<tab>
-> completes to "./example.py spam"
$ ./example.py --op<tab>
-> completes to "./example.py --optional"
$ ./example.py --optional b<tab>
-> completes to "./example.py --optional bar"
$ ./example.py --optional f<tab>
-> completes to "./example.py --optional foo"
and, additionally, prints "foo1 foo2" choices on stdout on a new line
</tab></tab></tab></tab>
没有找到相关结果
已邀请:
2 个回复
冰洋
赞同来自:
https://argcomplete.readthedoc ... plete
andrei kislyuk。
安装它:
在调用之前导入模块并将一个字符串添加到源。
:
并确保这一点 bash 知道您使用的脚本
你必须把这个字符串放在你的
或遵循文件 argcomplete 并激活结束 'global'.
之后,您根据请求完成工作。
它适用于字符串 eval 创建一个功能
, 哪个注册
. /发射
, 只是看看将被评为什么 bash/. 自动完成功能正在寻找完成机制设置的环境变量 bash, 找出我是否需要采取行动。 如果它是行动,他就会离开该计划。 如果它不起作用,这是对没有任何作用的程序,并且程序的正常流程继续。
八刀丁二
赞同来自:
这样做的最佳方法是强制该程序基于您自己的语法分析算法生成完成功能,以避免重复。 然而,慢慢地看看 argparse, 我找不到进入其内部结构的方法,但我建议你寻找她。
这是一个函数, bash, 对上述计划做些什么:
</program_name></function_name>