gpt4 book ai didi

python - 从文件中的列表自动完成命令行参数

转载 作者:太空狗 更新时间:2023-10-30 02:45:22 24 4
gpt4 key购买 nike

假设我有一个名为 script.py 的程序,它允许命令行选项 -i 需要一个额外的关键字参数,这样我调用

python script.py -i foo

现在假设在我的工作目录中有一个名为 tags.txt 的文件,其中包含一个字符串列表。现在我希望 shell 在根据 tags.txt 中给出的字符串列表调用脚本时自动完成 -i 之后的任何内容。这个想法是在该文件中存储一些 -i 的常用输入参数,以减少输入错误并确保更快的输入。纯 Python 解决方案可能吗?

最佳答案

在 bash 中,自动完成器可以运行命令或 bash 函数来动态生成自动完成器列表。假设您的脚本名为 foo。一种选择是创建一个名为 foo_completer 的脚本。你会像这样在你的 .bash_profile 中注册它:

complete -C foo_completer foo

现在,无论何时您使用 foo 命令选择自动完成,都会从 bash 调用 foo_completer。但是使用 -C 并不是创建动态完成器的唯一方法。这里有几个链接可以帮助您入门。

我见过的最复杂的完成器之一是 aws cli autocompleter这是用python写的。

由于您使用的是 python,请查看 python argcomplete项目。

这里是 another example

关于python - 从文件中的列表自动完成命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24864001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com