我正在尝试查看是否可以使用Windows PowerShell中的参数自动完成功能来执行我的python脚本。据称,PowerShell支持参数补全。
下面是一个不起作用的最小例子:
# !/usr/bin/env python
# PYTHON_ARGCOMPLETE_OK
import argparse
import argcomplete
from argcomplete.completers import EnvironCompleter
def argument_parser() -> argparse.ArgumentParser:
parser = argparse.ArgumentParser(description="Minimal app where arcomplete should work")
parser.add_argument("--version", action="store_true", help="print out version").completer = EnvironCompleter
parser.add_argument("--do-this", action="store_true", help="do this").completer = EnvironCompleter
parser.add_argument("--do-that", action="store_true", help="do that").completer = EnvironCompleter
return parser
if __name__ == "__main__":
parser = argument_parser()
argcomplete.autocomplete(parser)
cli_args = parser.parse_args()
然后在PowerShell中我尝试:输入python -i minimal -
,然后按下<TAB>
,没有任何React。我做错了什么?也许我应该提一下,我没有启用全局自动完成功能。不知何故,当我在PowerShell中运行activate-global-python-argcomplete
时,我得到一个“Open With...”对话。
1条答案
按热度按时间ezykj2lf1#
这是可能的,您只需要一个 Package 器脚本并注意正确的编码
我已经创作了一个minimal working example。它是基于Tibor's mat example的,但那个实际上不起作用,因为它缺少缓冲区的utf-8编码。