brysj22952 avatar

click的命令自动补齐功能介绍

brysj22952

Published: 19 Mar 2018 › Updated: 19 Mar 2018

click的命令自动补齐功能介绍

因由

上文(python命令行神器click介绍)描述了使用click创建python命令行程序的主要过程。在实际使用中还希望它有自动补齐的功能,毕竟命令行参数有哪些很难记住,能够自动提示和联想对得心应手的使用至关重要。所以本文讲述怎么使click命令具有自动补齐能力。

首先,不借助第3方工具,click本身是可以支持自动补齐的,在click详细文档(英文版)有一个章节有介绍。但是对于我这种菜鸟,也懒得折腾,就使用了一个开源的第三方库来搞定它,更方便一些。

第三方库地址:https://github.com/click-contrib/click-completion

它有很多自动补齐功能的增强,并且还支持更多的shell,可参考其readme.md文档。

过程

安装

git clone https://github.com/click-contrib/click-completion

cd click-completion

python3 setup.py install --user

配置过程

导入及初始化

import click_completion
click_completion.init()

配置安装命令

@completion.command()
def install():
    """Install the click-completion-command completion"""
    shell, path = click_completion.install('bash')
    click.echo('%s completion installed in %s' % (shell, path))

然后,你需要在shell下执行xx install命令,显示bash completion installed in /root/.bash_completion,你还需要source /root/.bash_completion,就生效了。

当然,这个是简化版的安装命令,详细的请参考Github上click-completion的示例。

效果

输入xx(你的命令行程序名),然后按两下Tab键,会提示子命令列表,子命令输入首字母,再按Tab键,会自动补齐,如果'xx -',在输入Tab键,会提示参数列表。

Leave click的命令自动补齐功能介绍 to:

Written by

Read more #cn posts


Best Posts From brysj22952

We have not curated any of brysj22952's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From brysj22952