jueves, 16 de febrero de 2012

Obtener IP Local

Alternativa para obtener IP

import commands
cmd = "ifconfig | grep 'inet:' | grep -v '127.0.0.1'"
sal=commands.getoutput(cmd)
cach=sal.split(' ')
lista=[]
for i in cach:
if isinstance(i,str):
ii=i.find('inet:')
if ii>-1:
lista.append(i[ii:len(i)].split('inet:')[1])
for i in lista:
print i

Mensajes con OSD


import pyosd
osd = pyosd.osd()
osd.set_colour("red")
osd.display("hola mundo")
osd.show()


http://crysol.org/es/node/749

Obtener directorio actual


import os
print os.getcwd()

Archivos


f=open('archivo.txt','w')
f.writelines('Hola mundo')
f.close()


http://mundogeek.net/archivos/2008/04/02/python-entrada-salida-ficheros/

Notificaciones


import pynotify
pynotify.init("Mi aplicacion")
nota = pynotify.Notification("¡Enhorabuena!", message="Esta notificación se ha mostrado con éxito", icon="emblem-debian")
nota.show()


http://joedicastro.com/notificaciones-de-escritorio-en-ubuntu-desde-python.html

miércoles, 15 de febrero de 2012

Instalar Tweepy

:~$ sudo easy_install tweepy

Herramientas

Para poder instalar aplicaciones con easy_install, se deben de tener instalados los siguientes paquetes:

python-pip
python-pytools


Obtener IP

import socket
print([ip for ip in socket.gethostbyname_ex(socket.gethostname())[2] if not ip.startswith("127.")][:1])

domingo, 12 de febrero de 2012

Ejecutar comando del sistema

El siguiente ejemplo devuelve la respuesta de hacer ping

import subprocess
host = "www.google.com"
ping = subprocess.Popen(
["ping", "-c", "4", host],
stdout = subprocess.PIPE,
stderr = subprocess.PIPE
)
out, error = ping.communicate()
print out

Datos disponibles en el socket

Para saber el numero de datos recibidos a traves del socket una opcion es tener un hilo que se encargue de la lectura y almacenamiento de los datos que se reciban.

Servidor con socket


import socket
puerto = 8080
s = socket.socket()
s.bind(("localhost", puerto))
s.listen(1)

sc, addr = s.accept()

while True:
recibido = sc.recv(1024)
if recibido == "salir":
break
print "Recibido:", recibido
sc.send(recibido)

print "Finalizado."

sc.close()
s.close()

Cliente con socket


import socket
puerto=8080
s = socket.socket()
s.connect(("localhost", puerto))

while True:
mensaje = raw_input("$> ")
s.send(mensaje)
if mensaje == "salir":
break
print "Finalizado."

s.close()

Autocompletar en la consola del interprete

Crear un archivo llamado:
.pystartup

desde la terminal se puede hacer de esta forma:
cat > .pystartup << "EOF"

Agregar las siguientes lineas:
import rlcompleter
import readline
readline.parse_and_bind("tab: complete")


En el archivo .bashrc añadir en la última linea la creación de la variable de entorno que hace que se cargue el script en la ejecución del interprete
export PYTHONSTARTUP=(Ruta de script)/.pystartup