argparse在明确的情况下使用每个默认缩写.
我不想要缩写,我想禁用它.但是没有在文档中找到它.
可能吗?
例:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--send', action='store_true')
parser.parse_args(['--se']) # returns Namespace(send=True)
Run Code Online (Sandbox Code Playgroud)
但我希望只有在提供完整参数时才是真的.防止用户错误.
更新:
在Vikas回答之后,我在python bugtracker创建了一张票.它已经处理完毕了.
这是代码的简单示例:
from optparse import OptionParser
parser = OptionParser()
parser.add_option("-f", "--file", dest="filename")
(options, args) = parser.parse_args()
print options
Run Code Online (Sandbox Code Playgroud)
我已将其保存到文件并运行.有用:
$ python script.py --file some_name
{'filename': 'some_name'}
Run Code Online (Sandbox Code Playgroud)
但这是诀窍:
$ python script.py --fil some_name
{'filename': 'some_name'}
Run Code Online (Sandbox Code Playgroud)
它也适用于未声明的选项fil.为什么它以这种方式表现?