停止argparse对文件路径进行全局化



我使用python argparse定义以下参数:

parser.add_argument('path', nargs=1, help='File path to process')

但是当我使用通配符参数输入命令时,argparse将删除所有文件路径并以错误结束。

如何让argparse不全局化文件?

argparse有机会看到它之前,shell正在扩展通配符参数。在通配符参数周围加上引号,以防止shell展开它。

您可以稍后使用global .glob执行通配符展开。

如何让argparse不全局化文件?

你没有。

让shell停止globing。

然而

。让我们考虑一下。

你在你的代码中这么说

parser.add_argument('path', nargs=1, help='File path to process')

但是当你运行它时,你实际上提供了通配符。

这两个中有一个是错的。要么在运行时停止提供通配符,要么修复argparse以允许多个文件名

globing是由shell完成的,而不是argparse模块。在开头打印sys.argv,您将看到argparse得到的输入。

最新更新