我是一个蟒蛇新手。我试图使用argparse为我的一个程序解析命令行参数。当我运行程序时,我想将其运行为:
prog.py /command:write
现在对于我在这里给出的命令行参数(/ command:write),我使用argparse来解析它。约束是我只希望命令行参数包含一个或多个这些:字符,数字,/,:, - ,。,\,_
如何在add_argument()
函数中指定此约束?
答案 0 :(得分:0)
您可以在sys.argv
使用之前过滤parse_args
。
import sys
...
def foo(a):
return a.replace('/','--').replace(':','=')
# '/command:write' => '--command=write'
argv = [foo(a) for a in sys.argv]
parse.parse_args(argv)
使用re.sub
是否需要更复杂的替换