2010-08-02 17 views

Respuesta

-4

seguramente voy con esto, deberán ser llenados trabajando bien, aunque me parece que realmente feo.

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] 

Gracias por la ayuda nuevamente.

0

Simplemente podría ejecutar 'ifconfig' con un subproceso. * Llame y analice la salida.

+0

Pensé en eso, y realmente tengo un comando listo (y largo) para obtener mi Ipv6 bien formateado. Pero realmente se ve feo. Debe existir una forma más adecuada de hacer esto. – jaes

4

El módulo netifaces debería hacerlo.

import netifaces 
addrs = netifaces.ifaddresses('eth0') 
addrs[netifaces.AF_INET6][0]['addr'] 
+0

Muchas gracias, lamentablemente, quiero ser muy simple en este script, que debe ejecutarse en muchos entornos diferentes. Así que estaba buscando algo que no necesitaría una instalación fácil. Pero aún así, funciona muy bien, gracias de nuevo. – jaes

Cuestiones relacionadas