[ArchLinux] Problema entre Kate y Pate Plugin

Kate

Tenía ganas de darle una oportunidad de usar a Kate como IDE para Python… Lógicamente lo primero que tenía que hacer era habilitar los complementos de python en Kate(Un tal Patê). Las instrucciones para instalarlo las saqué de acá.

Sin embargo, cada vez que ejecutaba Kate me saltaba que no podía ejecutar Pate. En consola encontré este mensaje que me parecía cuanto menos esclarecedor:

PyKDE4 import kdecoreImportError: No module named ‘PyKDE4’

Esto lo solucioné instalando kdebinding:

sudo pacman -S kdebindings-python

Y todo debería funcionar como corresponde.

 

[Python] Guardando resultado comandos linux en una variable

Hoy se me dio por ver si podía guardar el resultado de un comando linux en una variable. Lo primero que intenté fue lo siguiente:

import os
a=os.command("ls")
print a

Este simple programita me devolvió 0. Leyendo un poco por aquí y por allá descubrí que el “0” significa que el comando se ejecutó exitosamente. Seguí leyendo y caí que para hacer lo quería se tenía que hacer con la función getoutput del módulo commands. Ejemplo:

import commands
a=commands.getoutput("ls")
print a

Y ahí nos devuelve la lista de archivos 😉

PD: Me acabo de dar cuenta que este consejo ya lo había hecho hace un tiempo ¡Cómo se olvida uno de las cosas! 28 años no es nada…

 

BASH desde Python -Prestado de http://gedece.blogspot.com.ar-

Buscando encontré  una forma piola de redireccionar salidas de consola a variables en python. El que me dio esta solución fue “Demasiado Personal” ¡Gracias!

 

Hoy tuve que ajustar un programa hecho en python que me manda información automáticamente, y, entre otras cosas, me informa mi propia IP externa por email. Anteriormente usaba comandos python para bajar una página web e interpretar sus lineas. Esta vez, sin embargo, ya que tenía que modificar justo esa parte, decidí implementar algo distinto.

Para eso tuve que realizar la investigación de como usar bash desde dentro de un programa Python. Encontré dos alternativas, una con os y otra con commands. Hay más, creo que una es popen, pero como command implementa una interfase para popen, me pareció suficiente.

Vayamos primero por la opción que usé primero, que no fue la que terminé usando finalmente.

import os
resultado = os.system(“ls”)

Este comando guarda en resultado un cero si el comando ejecutado se ejecutó con éxito, y un valor distinto a cero si no lo hizo. La salida del comando se produce por la consola, y no podemos traer el resultado a Python. Esto fue lo que hizo que lo descartase, ya que yo justamente precisaba el resultado real, y no el valor de éxito del comando.

Entonces tuve que usar la otra alternativa
import commands
resultado = commands.getoutput(“ls”)

Este comando no trae un cero en caso de éxito, sino que devuelve un string con el resultado del comando ls, que lista el directorio. Por supuesto que hay comandos especiales para manipular archivos y directorios sin recurrir a comandos bash, ls es solo usado a modo de demostración. Una aclaración importante: el módulo commands solo funciona bajo Linux. Como mi programa no necesita ser portable, lo he usado. Si sus necesidades son diferentes, tal vez lo solucionen con popen.

Fuente: http://gedece.blogspot.com.ar/2009/10/bash-desde-python.html

Iniciación rápida a VIM I

VIM es el acrónimo con que se conoce al potente editor de textos Vi IMproved. La curva de aprendizaje para conocer todas (o la gran mayoría de las funciones) es bastante alta, así que me puse a buscar un poco por la red y encontré en la página de Gustavo Novaro un simple resumen como para iniciarse y perderle el miedo.

[SHIFT] + [%] – Se moverse entre el comienzo y el cierre de un bloque por ej: if (algo) { …. }
dd – Elimina la linea actual
u – Deshace un cambio
y – Copia la linea actual
p – Pega la linea una linea

Eliminar múltiples lineas: N (Numero) + dd Elimina las N lineas posteriores y la actual.

i – Modo Edición.
: – Cambia a modo comandos.
ESC – Vuelve a modo edición.

:number – Muestra los números de linea en el editor
:w – Salvar cambios
:q – Salir
:q! – Salir sin guardar cambios
😡 – Guardar y Salir
:/texto – Buscar, donde texto es la palabra a buscar. con “n” se mueve a la siguiente coincidencia, con “N” vuelve a la coincidencia anterior

Dividir Pantalla

:split – Divide la pantalla en forma horizontal
:vsplit – Divide la pantalla en forma vertical
Para cambiar entre ventana se usa [CTRL] + [W] + la flecha de dirección [<-] [->]…

Fuente: http://www.gustavonovaro.com.ar/vim-guia-rapida/

[Python] Convertir enteros a binarios

Les dejo un ejemplo bien básico de una función escrita en Python que convierte números enteros a binarios (Ya sé que existe una función de python que lo hace, pero la idea no es mejorar nada sino que sea usada como recurso didáctico)

def abinario(ndecimal):

n2=ndecimal
nbinarioinverso=[]
nbinariofin=””
while n2!=0:

nbin=n2%2 #Calculamos el resto de dividir por dos
n2=n2/2 #Dividimos por dos y lo guardamos en n2 (para seguir dividiendo)
nbinarioinverso.append(nbin) #Se suma al numero final (En orden inverso)
nbinario=nbinarioinverso[::-1] #Invertimos la lista

for x in nbinario: #Convertimos la lista a una variable

nbinariofin+=str(x)

return nbinariofin