【发布时间】:2010-08-02 14:53:11
【问题描述】:
你知道我如何在 python2.6 中获得我的一个接口的 IPv6 地址之一吗?我用套接字模块尝试了一些东西,但结果却一无所获。
谢谢。
【问题讨论】:
你知道我如何在 python2.6 中获得我的一个接口的 IPv6 地址之一吗?我用套接字模块尝试了一些东西,但结果却一无所获。
谢谢。
【问题讨论】:
netifaces 模块应该这样做。
import netifaces
addrs = netifaces.ifaddresses('eth0')
addrs[netifaces.AF_INET6][0]['addr']
【讨论】:
您可以简单地使用 subprocess.* 调用运行“ifconfig”并解析输出。
【讨论】:
我肯定会用这个,它应该很好用,即使我觉得它真的很丑。
step1 = Popen(['ip','addr','show','br0'],stdout=PIPE)
step2 = Popen(['grep','inet6'],stdout=PIPE,stdin=step1.stdout)
step3 = Popen(['sed','-e','/fe80/d','-e','s/ *inet6 *//g','-e','s/\/64.*$//g'],stdout=PIPE,stdin=step2.stdout)
step4 = Popen(['tail','-n1'],stdout=PIPE,stdin=step3.stdout)
step4.communicate()[0]
再次感谢您的帮助。
【讨论】: