从globbing文件路径中停止argparse

jld*_*ont 5 python argparse

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

parser.add_argument('path', nargs=1, help='File path to process')
Run Code Online (Sandbox Code Playgroud)

但是当我用一个wildcard参数输入我的命令时,会argparse覆盖所有文件路径并以错误终止.

我如何得不到argparse文件的全局?

unu*_*tbu 8

shell正在扩展通配符参数,然后argparse才有机会看到它.在wildcard参数周围加上引号以防止shell扩展它.

您可以稍后使用glob.glob执行通配符扩展.


S.L*_*ott 8

如何让argparse不对文件进行全局处理?

你没有.

你得到shell来停止通配.

然而.让我们想一下.

你在代码中说这个

parser.add_argument('path', nargs=1, help='File path to process')
Run Code Online (Sandbox Code Playgroud)

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

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