【发布时间】:2013-12-08 00:55:13
【问题描述】:
我是 python 新手。我正在尝试将 argparse 用于我的一个程序来解析命令行参数。当我运行程序时,我想将其运行为:
prog.py /command:write
现在对于我在这里给出的命令行参数(/command:write),我使用 argparse 来解析它。约束是我只希望命令行参数包含以下一项或多项:字符、数字、/、:、-、.、\、_
如何在add_argument() 函数中指定此约束?
【问题讨论】:
-
有什么理由不能使用更标准的
--command=write? -
是的。因为这个功能已经在批处理脚本中实现了,但是因为它们已经过时了,所以我试图在 python 脚本中实现相同的功能。由于人们已经在使用这种格式,我现在无法更改。
-
这对于 argparse 来说是一个非常奇怪的约束,我认为它无法处理它。我会用标准格式的好选项编写程序,并在 sed 中编写一个帮助脚本,以从您需要使用的奇怪格式映射到标准格式。
-
上述参数只是一个例子。我的实际程序有 10-15 个参数。而且我想避免对每个字符串的每个参数进行手动解析和错误检查。
-
prefix-chars 构造函数的 prefix-chars 参数可以为您提供所需的
/处理。
标签: python command-line-arguments argparse