[pyar] Pythonizando más un script :P

"José C. Massón" jose en rebeldes.org.ar
Mie Jun 16 16:18:14 ART 2010


El 16/06/10 04:10, Mauro Lizaur escribió:
>
>
> 2010-06-16, "José C. Massón":
>
>> Hola a tod en s,
>>
>> Hace unos días que en los ratos libres vengo escribiendo un
>> scriptcito[1] para hacer backup de mi home en diferentes lugares vía
>> rsync.
>>
>> Ya lo tengo andando y funca sin dramas, pero me gustaría hacerlo más
>> "pythonico" y dejar de usar, dentro de lo posible, subprocess para
>> ejecutar algunos comandos de bash que, espero poder reemplazar.
>>
>> En particualar, en el método "obtener_ip", hago uso de:
>>
>> --
>> sentencia = "ip a | grep inet | grep eth0 | tr \"/\" \" \" | awk '{print
>> $2}'"
>>
>> a = subprocess.Popen(sentencia, shell=True, stdout=subprocess.PIPE,
>> stderr=subprocess.PIPE )
>> --
>>
>> la verdad es que estuve buscando, y no encontré la manera de hacer esto
>> mismo, pero más pythonicamente ... alguna idea?
>>
>
> Hola Jose,
> Podes probar con "getaddrinfo" [0] que vale tanto para ipv4 como para ipv6,
> aca hay un ejemplo de como seria la cosa con "getaddrinfo":
>    http://utcc.utoronto.ca/~cks/space/blog/python/GetaddrinfoForIps
> Usando ese codigo despues obtenes los datos con "gethostips(«hostname»')" y
> listo.
>
> [0] http://docs.python.org/library/socket.html#socket.getaddrinfo
>
> <semi-ot-yendome-por-las-ramas>
> Te /recomiendo/ getaddrinfo y no gethostbyname (que solo devuelve en formato
> ipv4) basicamente por esta razon:
>    http://www.enc.com.au/sees-blog/2010/06/does-your-program-use-gethostbyname.html
> </semi-ot-yendome-por-las-ramas>

Muchas gracias Mauro!

El tema es que usando ese ejemplo, me devuelve la IP de localhost que es 
127.0.0.1, pero no la ip, de por ejemplo eth0.

Abrazo grande!
-- 
José C. Massón

.: Rebeldes Stereotipos
Sábados 15 a 17 hs FM La Tribu 88.7 MHz
rebeldes.org.ar



More information about the pyar mailing list