如何使用optparse模块解析没有参数的选项

11 投票
2 回答
11503 浏览
提问于 2025-04-17 18:57

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

比如说:

./log.py --ipv4 

2 个回答

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

请查看这个链接:http://docs.python.org/2/library/optparse.html#handling-boolean-flag-options,里面有关于如何处理布尔标志选项的说明。

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')

撰写回答