Python argparse 和 bash 完成

标签 python argparse bash-completion

我也想在参数中自动完成我的 python 脚本。

我从来没有真正理解过 bash_completion 是如何工作的(用于参数),但是在我深入研究之后我明白了:

  1. 它使用“完成”将完成函数绑定(bind)到命令
  2. 每个完成函数基本上都是参数解析器的副本

特别是第二点不是很好,因为我希望它自动生成。

最好的办法是,shell 在每个 TAB 处向我的程序询问要完成什么,但我的印象是这真的行不通,对吗?

第二种选择可能只是编写一个从 argparse 解析器到正确完成的 shell 函数的转换器。

最佳答案

无耻的 self 推销:https://github.com/kislyuk/argcomplete

argcomplete 为 argparse 提供 bash 补全。

关于Python argparse 和 bash 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8387924/

相关文章:

Python 的 argparse : How to use keyword as argument's name

macos - OSX 终端波浪号 bash 完成

python - Django Bash 完成不适用于 manage.py

python - 计算 2 个字符串之间的差异(Levenshtein 距离)

python - 分水岭分割: Cannot split some cells

python - 支持基于 docker 和非基于 docker 的部署

python - 使用 argparse 嵌套选项

python - 是否可以使用 argparse (Python) 在另一个组内创建一个互斥组?

linux - Bash 选项卡完成改变了行为

python - 由于多个并发请求,Django session cookie 丢失