将空字符串传递给argparse

max*_*max 4 python command-line argparse python-3.2

我正在使用argparse(Python 3.2).参数mode定义简单如下:

p.add_argument('--mode', dest='mode')
Run Code Online (Sandbox Code Playgroud)

我想从命令行调用程序,使参数mode设置为空字符串; 或至少到一个空格' '(我可以在以后删除空格).

我试图用(在Windows)program_name --mode ""program_name --mode " ",但既不工作.

mgi*_*son 7

这似乎在OS-X下对我有用:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--mode')
p = parser.parse_args()
print(p)
Run Code Online (Sandbox Code Playgroud)

然后:

python test.py --mode=
Run Code Online (Sandbox Code Playgroud)

我没有Windows机器,所以我对这些操作方式一无所知......

当然,上面提到的其他内容在OS-X上也可以正常工作.这里的优点是它不应该依赖于shell如何分割引号中包含的参数,这些参数应该使它在我想到的更多地方工作.