【发布时间】:2018-05-10 22:39:38
【问题描述】:
就像我想解析 127.0.0.1 一样,它可以正确解析,但 127.0.a.1 不是有效的 IP 地址,所以它应该会抛出错误。如何在 python 中使用 optparse 来做到这一点?
喜欢解析我们使用的整数或字符串值
parser.add_option("-n", action="store", type="int", dest="number")
但是为了解析一个有效的 IP 地址,我们应该写什么?
【问题讨论】:
-
你能用正则表达式检查吗?
-
@JamesLingham 我应该使用什么线。你能帮我吗?
-
您的情况可能的正则表达式可能是
r'\d{3}(\.\d){3}',这意味着检查 3 位数字,然后是 3 次点,后跟一个数字。 -
我建议换成 argparse 而不是使用 optparse。为了坚持使用 optparse,我链接的问题中解释的类型检查必须按照此处详述的步骤执行:docs.python.org/2/library/optparse.html#extending-optparse
-
我们可以使用回调来验证吗?
标签: python python-2.7 optparse