2011-09-03 56 views
2

我的Python脚本接受一些选项,如下所示:如何让'命令行智能感知'(TAB TAB)与Python脚本一起工作?

python ./Controller.py create 1 
python ./Controller.py destroy 

是否有反正我能获得智能在命令行工作?例如,键入以下内容:

python ./Controller.py <TAB><TAB> 

应提供以下:

create - <description> 
destroy - <description> 

是否有一个可移植的方式来做到这一点的好办法?

回答

1

对于bash,这个特性被称为Bash完成。其他外壳可能具有相似的功能。以下是官方参考资料:Programmable Completion

请务必记住这是shell的一项功能,而不是Python或您正在调用的脚本。

1

AFAIK,唯一的办法就是在用户输入类似python ./Controller.py -h之类的东西时提供帮助。查看argparse模块,了解如何将其合并到脚本中的提示。