Python Lenguaje de Programación Poderoso!!! Historia 1
Hace ya casi 8 años tengo aprendiendo este maravilloso lenguaje de Programación, y bueno en este ultimo año he estado viendo sus Frutos. La verdad es que se gana Muy bien y hago lo que me Gusta, normalmente escribo aquí para animar a otros lectores y programadores a escribir en Steem ya sea por Joby o para ganar algo de Dinero, yo por ejemplo el dinero que obtengo aquí lo voy a usar para una obra que tengo en mente.
Python es muy poderoso y cualquier persona con la motivación adecuada puede aprender y ser bueno programando en Python, por ejemplo por hay tengo un problemita que parece un poco complicado y bueno con python lo he solucionado, de eso quiero hablarles Hoy.
Fíjense en las dimensiones del Problema:
Actualmente estoy programando sobre un ERP llamado ODOO con Python como Backend es decir como lenguaje principal de Programación, no te asustes nos vamos a enfocar en la sencillez de Python no en ODOO, Y bueno he pedido que me envíen unos archivos que contienen información de Boletos de la Aerolinea que estoy integrando a ODOO con la Boleteria, y bueno por mas que se los he pedido a carpetas Diferentes me los han enviado a la misma Carpeta Todo :O
Al final tengo muchos archivos diferentes en una carpeta y tengo que clasificarlos, y no tengo interfaz gráfica, lo que me ha ocurrido es usar Cron de Linux ya que el VPS esta en Ubuntu Server, pero Cron aveces se lia y me ha dejado un poco mal con las pruebas, por lo que ahora mismo pensé en Crear una Función que se ejecute desde ODOO y sea Bash en Python embebida utilizando la librería del sistema os.
import os, subprocess
Con esta librería Vamos a Embeber el código Bash o lo que usamos en la terminal con Python, para los fines que necesito quedaría algo así:
os.system("ls /home/odoo/archivos_kiu/ | grep 'CMAS.zip'| grep 'CRS' > /home/odoo/archivos_kiu/CMAS_a_Extraer.txt")
archivo='/home/odoo/archivos_kiu/CMAS_a_Extraer.txt'
archi=open(archivo,'r')
lineas=archi.read().splitlines()
if len(lineas)> 0:
iteracion = 0
for archivo_cmas_a_extraer in lineas:
arch_a_extraer = '/home/odoo/archivos_kiu/'+archivo_cmas_a_extraer
cmas_a_extraer_descomprimido = archivo_cmas_a_extraer[0:-4]
subprocess.call(['unzip', arch_a_extraer])
subprocess.call(['mv', arch_a_extraer, '/home/odoo/archivos_kiu/CRS_comprimidos'])
subprocess.call(['mv', cmas_a_extraer_descomprimido, '/home/odoo/archivos_kiu/CRS_descomprimidos'])
print "MOVIENDO ARCHIVO A /home/odoo/archivos_kiu/CRS_descomprimidos", cmas_a_extraer_descomprimido
print "MOVIENDO ARCHIVO A /home/odoo/archivos_kiu/CRS_comprimidos", arch_a_extraer
Y bueno Lo que hace el programa es listar los archivos de /home/odoo/archivos_kiu/ que contengan 'CMAS.zip' y con el piper volvemos a buscar los que sean CRS y con el simbolo > enviamos a la salida a el archivo /home/odoo/archivos_kiu/CMAS_a_Extraer.txt que luego va a ser leido y archivo a archivo lo descomprime con python y bash y luego mueve uno a el comprimido y el otro a la carpeta descomprimidos, ya luego el sistema hace otras cosas pero eso es otra cosa :D
Saludos aquí pudimos ver el poder de Python para lo que necesitemos :D
Dios les Bendiga