首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IPv6地址Python

IPv6地址Python
EN

Stack Overflow用户
提问于 2018-04-13 20:31:11
回答 1查看 2.3K关注 0票数 2

我的IPv6地址等于"2001:200:e000::/35“。但是,我不能从库I地址在函数ip_address()中输入它。该函数适用于不包含"/“的地址,例如IPv4 "1.0.0.0”和IPv6 "2001:12f8:0:17::23":

代码语言:javascript
复制
ipaddress.ip_address(unicode("1.0.0.0","utf-8"))

返回:

代码语言:javascript
复制
IPv4Address(u'1.0.0.0')

代码语言:javascript
复制
ipaddress.ip_address(unicode("2001:12f8:0:17::23","utf-8"))

返回:

代码语言:javascript
复制
IPv6Address(u'2001:12f8:0:17::23')

但是,当我在IPv6 "2001:200:e000::/35“中尝试它时,

代码语言:javascript
复制
ipaddress.ip_address(unicode("2001:200:e000::/35","utf-8"))

返回:

代码语言:javascript
复制
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/ipaddress.py", line 168, in ip_address
    address)
ValueError: u'2001:200:e000::/35' does not appear to be an IPv4 or IPv6 address

如何将包含"/“的IP地址输入到ip_address?

EN

回答 1

Stack Overflow用户

发布于 2018-04-13 20:33:27

你所说的“带有/在其中的IP地址”实际上并不是IP地址。它们是称为"CIDR表示法“的IP网络(这意味着一系列IP地址)。

您可以使用ipaddress.ip_network()处理IP网络。例如:

代码语言:javascript
复制
>>> ipn = ipaddress.ip_network("2001:200:e000::/35")
>>> ipn.num_addresses
9903520314283042199192993792
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49817064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档