11

如何在不传递任何参数且不传递任何默认参数的情况下传递选项?

例如:

./log.py --ipv4 
4

2 回答 2

14
parser.add_option("--ipv4", action="store_true", dest="ipv4")

请参阅http://docs.python.org/2/library/optparse.html#handling-boolean-flag-options

于 2013-03-13T16:36:15.137 回答
9

虽然 lajarre 的答案是正确的,但重要的是要注意 outparse 被认为已弃用。

我建议改用较新的argparse 模块

所以你的代码看起来像:

import argparse
parser = argparse.ArgumentParser(description='This is my description')
parser.add_argument('--ipv4', action='store_true', dest='ipv4')

使用 -foo 或 --foo 标志使争论成为可选的。有关可选参数的更多信息,请参阅此文档

编辑:这是add_argument 方法的具体文档。

编辑 2:此外,如果您想接受 -foo 或 --foo 您可以这样做

parser.add_argument('-ipv4', '--ipv4', action='store_true', dest='ipv4')
于 2013-03-13T16:48:38.663 回答