带文件路径的python argparse自动完成

2024-06-24 13:07:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python程序,它读取如下配置文件:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('-c', '--config',  type=str, help='config file', required=True)

args = parser.parse_args()
cfg_filename = args.config

我希望能够在bash中自动完成路径。例如,假设上面的程序名为main.py,并且有一个名为config_1.txt的配置文件,其结构如下:

folder/
  main.py
  configs/
    config_1.txt

假设在我的终端中

user@host:~/folder$ python main.py -c con

我希望按下一个选项卡可以:

user@host:~/folder$ python main.py -c config/

然后另一个标签会显示

user@host:~/folder$ python main.py -c config/config_1.txt

我试着加上

import argcomplete
argcomplete.autocomplete(parser)

但是没有起作用


Tags: pyimport程序txtconfighostparsermain