1

可能重复:
Python argparse 和 bash 完成

在 bash 提示符下(例如在 Ubuntu 系统上),如果您键入service然后按几次 Tab,您将获得所有可用服务的列表。

有没有办法用 python 脚本做同样的事情?因此,如果您有一个名为 music 的脚本,看起来像这样:

def dumbstuff():
    #plays pop music...

def rockingstuff():
    #Plays music that will scare your mother...

在命令行上,您键入music几个选项​​卡,我希望看到输出:

dumbstuff
rockingstuff

有没有办法做到这一点?

4

1 回答 1

1

你可以走这两条路。第一种方法是创建一个 bash 完成脚本并在您的 .bashrc 文件中引用它。您可以在此处查看示例:可编程完成简介

您可以采用的另一种方法是使用 python 的optcomplete库。您必须将其作为脚本的一部分。

您选择哪种方法取决于此应用程序是仅供个人使用还是分发。

于 2012-09-28T18:22:09.950 回答