【发布时间】:2013-04-16 15:31:47
【问题描述】:
我需要识别是单独给出参数还是带有可选字符串或两者都没有
parser.add_argument(???)
options = parser.parse_args()
所以
./prog.py --arg
应该将'' 存储到options.arg 中,
./prog.py --arg=lol
将'lol' 存储到 options.arg 和
./prog.py
将 options.arg 保留为 None
现在我有:
parser.add_argument("--arg", nargs="?",type=str,dest="arg")
但是当我以 ./prog.py --arg 运行 myprogram 时,options.arg 仍然是 None。识别 --arg 的唯一方法是以./prog.py --arg= 运行它,这对我来说是个问题。
【问题讨论】:
-
为什么需要区分
''和None?not ''和not None都计算为True。听起来你有比这更大的问题。 -
@MartijnPieters -- 这是重复的,但是 FWIW,有一个 nicer answer 贡献了这个......我们都被 Evert 忍过了。
标签: python optional-parameters argparse