0

环境:

python3.7
OptionParser with a option [ add_option('-t', '--target', action='append', dest='targets') ]
操作系统:CentOS7.6

问题:

所以我使用这个选项来输入一个目标列表,并使用这个命令行:
parser -t logs* -t test
有一个文件“logs.tar.gz”在我执行这个命令行的地方,当我打印目标的值时,这就是我得到的:
['logs.tar.gz', 'test']
所以我认为这是系统级别的“问题”,我想知道的是:
有没有什么方法可以logs*在没有pythonlogs*输入的情况下实现?logs\*

4

1 回答 1

1

shell 是谁在扩展*. python 在这里无能为力,因为它永远不会知道log*.

您可以强制您的 shell 将 解释*为带有一些引用的文字值:

parser -t "logs*" -t test

这适用于 zsh,对于您的 shell 可能会有所不同。

于 2020-06-05T04:12:33.263 回答