我使用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得到的输入。