将空字符串传递给argparse

时间:2012-11-26 05:11:02

标签: python command-line argparse python-3.2

我正在使用argparse(Python 3.2)。参数mode简单地定义为:

p.add_argument('--mode', dest='mode')

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

我尝试使用(在Windows下)program_name --mode ""program_name --mode " ",但都没有用。

1 个答案:

答案 0 :(得分:6)

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

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--mode')
p = parser.parse_args()
print(p)

然后:

python test.py --mode=

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

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