相关疑难解决方法(0)

python argparse - 两者都是可选参数,或者两者都不是

我有一个使用默认名称和密码的程序.我正在使用argparse来允许用户指定命令行选项,我想让用户为程序提供不同的名称和密码以供使用.所以我有以下内容:

parser.add_argument(
    '-n',
    '--name',
    help='the login name that you wish the program to use'
    )

parser.add_argument(
    '-p',
    '--password',
    help='the password to log in with.'
    )
Run Code Online (Sandbox Code Playgroud)

但是仅指定名称或仅指定密码没有任何意义,但指定两者都没有意义.我注意到argparse确实能够指定两个参数是互斥的.但我所拥有的是必须同时出现的两个论点.我该如何得到这种行为?(我发现文档中提到了"论证组",但它们似乎没有解决我的问题http://docs.python.org/2/library/argparse.html#argument-groups)

python command-line-arguments argparse

26
推荐指数
3
解决办法
8992
查看次数

在 argparse 中使用 Python 的 add_argument 时,如果调用特定的已弃用标志,如何抛出异常?

基本上想象我有一个有多个参数的argparser。我有一个特定的函数定义,如下所示:

    def add_to_parser(self, parser):
        group = parser.add_argument_group('')
        group.add_argument( '--deprecateThis', action='throw exception', help='Stop using this. this is deprecated')
Run Code Online (Sandbox Code Playgroud)

无论我是否可以尝试创建该操作来引发异常并停止代码,或者是否可以包装它以检查标志deprecateThis然后引发异常,我想知道如何做到这一点以及哪一个最好!谢谢。

python parsing action exception argparse

5
推荐指数
1
解决办法
2069
查看次数

Python 使用 optparse 指定日期格式

我是使用 Python 2.6 的新手

我正在尝试使用 Optargs 传递一个日期作为参数。

当尝试这样做时: 指定输入参数 argparse python 的格式 我收到此错误:

parser.add_option('-e', '--end', help='end date - format YYYYMMDD', type=valid_date)

File "/usr/lib64/python2.6/optparse.py", line 1012, in add_option
option = self.option_class(*args, **kwargs)
File "/usr/lib64/python2.6/optparse.py", line 577, in __init__
checker(self)
File "/usr/lib64/python2.6/optparse.py", line 660, in _check_type
raise OptionError("invalid option type: %r" % self.type, self)
optparse.OptionError: option -e/--end: invalid option type: <function valid_date at 0x7f310294fde8>
Run Code Online (Sandbox Code Playgroud)

我的程序是这样的:

parser.add_option('-e', '--end', help='end date - format YYYYMMDD', type=valid_date)
Run Code Online (Sandbox Code Playgroud)

(……)

def valid_date(s):
  try:
    return datetime.datetime.strptime(s, "%Y%m%d")
  except ValueError: …
Run Code Online (Sandbox Code Playgroud)

python

2
推荐指数
1
解决办法
901
查看次数