在 Python 中使用 optparse
有没有办法可以在Python中配置optparse以不采用开头-? “当前”,而是
%program -d optionvalue
我没有得到
%program d optionvalue
因此,当我尝试执行此操作时,
parser.add_option('d', '--database')
收到以下错误:
optparse.OptionError: invalid option string 'd': must be at least two characters long
任何帮助将不胜感激!谢谢
Is there a way I can configure optparse in Python to not take the beginning -? So instead of
%program -d optionvalue
I get
%program d optionvalue
Currently, when I try to do
parser.add_option('d', '--database')
i get the following error:
optparse.OptionError: invalid option string 'd': must be at least two characters long
Any help would be appreciated! Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
简而言之,不。
http://docs.python.org/library/optparse.html#terminology
你必须自己解析它。
In short, no.
http://docs.python.org/library/optparse.html#terminology
You would have to parse that yourself.
parse_args()
允许您提供自己的参数列表,而不仅仅是使用默认情况下使用的sys.argv[1:]
。因此,您可以预处理命令行参数,然后将它们传递给 optargs。假设您希望所有 1 字符参数都算作选项键:(您也可以子类 OptionParser 并将其放在那里)
parse_args()
allows you to provide your own argument list, not just usingsys.argv[1:]
, which it uses by default. So you could preprocess the commandline arguments, and then pass them to optargs. Assuming you want all 1-character arguments to count as option keys:(you could also subclass
OptionParser
and put it there)您可以强制使用回调操作:
http: //docs.python.org/library/optparse.html#callback-example-6-variable-arguments
这使您可以原始访问左右参数
You may be able to force with use callback action:
http://docs.python.org/library/optparse.html#callback-example-6-variable-arguments
which gives you raw access to left and right args