#!/usr/bin/env python '''Ejemplo del uso de expresiones regulares en Python.''' __shell_usage__ = ''' Este es un programa de ejemplo. Busca en fichero HTML dado como argumento, todas las marcas de html y las pone en minusculas y saca el resultado por pantalla.''' __version__ = 'Ejemplo de uso de expresiones regulares' __author__='Arturo Suelves (arturosa@lycos.es)' import os,sys import string,re def Mm(fentrada): flectura=open(fentrada,'r') f=flectura.read() flectura.close() coincidencias1=re.findall("[\n][^<]*[>]",f) #Busca todas las marcas html desde el principio de la linea nueva al final coincidencias2=re.findall("[<][^>]*[\n]",f)+ #Busca todas las marcas html desde el principio de la linea al final de la linea coincidencias3=re.findall("[<].*[>]",f) #Busca todas las marcas html que van en una linea resultado=f for i in coincidencias1: busca=re.search(i,resultado) if busca: p1=busca.start() p2=busca.end() resultado1=resultado[:p1] resultado2=resultado[p2:] anadido=string.lower(f[p1:p2]) resultado=resultado1+anadido+resultado2 for i in coincidencias2: busca=re.search(i,resultado) if busca: p1=busca.start() p2=busca.end() resultado1=resultado[:p1] resultado2=resultado[p2:] anadido=string.lower(f[p1:p2]) resultado=resultado1+anadido+resultado2 for i in coincidencias3: busca=re.search(i,resultado) if busca: p1=busca.start() p2=busca.end() resultado1=resultado[:p1] resultado2=resultado[p2:] anadido=string.lower(f[p1:p2]) resultado=resultado1+anadido+resultado2 return resultado if __name__ == '__main__': if len(sys.argv) == 2: if sys.argv[1] <> '': print Mm(sys.argv[1])
Expresiones regulares.Convertir de MAYUSCULAS a minusculas
Crear y leer ficheros ZIP
'''Programa de pruebas para el manejo del modulo zipfile.''' __shell_usage__ = '''\nAyuda: Este programa crea un fichero zip con todos los ficheros de un directorio. Dicho fichero zip se guarda en el mismo directorio. Uso: pruebaszip [-c] [-l] [--help] -c: crea un zip -l: lista los ficheros de un fichero zip y muestra informacion --help: muestra esta pantalla de ayuda ''' __author__ = 'Arturo Suelves Albert: arturosa@lycos.es' __version__ = 'Pruebas de ZIP - 20/04/2001' import zipfile import os.path import os,sys def hacer_zip(ficherozip,directorio_ficheros_a_zipear): lista_de_ficheros_a_zipear=os.listdir(directorio_ficheros_a_zipear) a=zipfile.ZipFile(ficherozip,'w',8) for i in lista_de_ficheros_a_zipear: if os.path.isfile(str(directorio_ficheros_a_zipear)+'\\'+str(i)): a.write(str(directorio_ficheros_a_zipear)+'\\'+str(i)) print'.', a.close() def leer_zip(ficherozip): a=zipfile.ZipFile(ficherozip,'r') #print 'Lista de ficheros incluidos en el zip: ',a.namelist(),'\n' #fichero_a_ver=raw_input('Fichero a visualizar: ') print a.read(fichero_a_ver) for contador in a.namelist(): print a.read(contador) #esta linea imprime el contenido del fichero print '\nNombre del fichero: '+contador print 'Ultima modificacion del fichero: '+str(a.getinfo(contador).date_time) print 'Sistema que creo el fichero: '+str(a.getinfo(contador).create_system) print 'Tamaño comprimido: '+str(a.getinfo(contador).compress_size) print 'Tamaño descomprimido: '+str(a.getinfo(contador).file_size) print 'Tipo de compresion: '+str(a.getinfo(contador).compress_type)+'\n' tecla=raw_input('Pulse ENTER para ver el siguiente documento en el fichero zip.') a.close() if __name__ == '__main__': if len(sys.argv) == 2: if sys.argv[1] == '-c': directorio_trabajo=raw_input('\nDirectorio con los ficheros a zipear:') os.chdir(directorio_trabajo) nombre_zip=raw_input('\nNombre del fichero ZIP: ') if os.path.isfile(nombre_zip): print '\nYa existe un fichero en el directorio con este nombre: '+nombre_zip sys.exit() else: hacer_zip(nombre_zip,directorio_trabajo) else: if sys.argv[1] == '-l': nombre_zip=raw_input('\nPath completo del fichero ZIP: ') leer_zip(nombre_zip) else: print '\nNombre del programa:',sys.argv[0] print __shell_usage__ print __author__ else: print '\nNombre del programa:',sys.argv[0] print __shell_usage__ print __author__ sys.exit()
Cálculo de números primos. Criva de Erastótenes.
# -*- coding: utf-8 -*- """ Criva de Erastótenes. Calcula los numeros primos entre 0 y uno dado n. Ver explicación en: http://es.wikipedia.org/wiki/Criba_de_Erat%C3%B3stenes author : arturo.suelves@gmail.com fecha : 15-4-2008 version de python: 2.7 """ import math n=int(raw_input('Número máximo:')) lista_numeros=[] for i in range(0,n): lista_numeros.append(i) print "Lista de numeros original:" print lista_numeros seguir=raw_input('Calcular los números primos:') for i in range(2, int(math.sqrt(n))): if lista_numeros[i] <> 'X': for j in range(i,n/i): lista_numeros[j*i]='X' print "Lista de números primos entre 0 y "+str(n)+"." print lista_numeros
Generar código de registro
#!/usr/bin/env python '''Ejemplo de generación de un código de registro muy simple. Multiplica la suma de los ordinales de cada letra de la empresa por 250''' __author__='Arturo Suelves (arturo.suelves@gmail.com)' import os,sys print ('Generando codigo de registro para programa del cliente.') empresa=input('Introduzca nombre EMPRESA (8 caracteres): ') codigo=0 for cuenta in range(1,8): codigo= codigo+ord(empresa[cuenta]) codigo=codigo*250 print ('El codigo de registro para '+empresa+' es : B'+str(codigo)) salida=input('Pulse una tecla para salir.')
Recursos Linux
Recursos Linux
- Guía de referencia rápida Debian (Formato PDF. EN ESPAÑOL. )
- Guía de referencia Debian . (Formato PDF. EN ESPAÑOL. )
- APT-HOWTO .(Formato PDF. EN ESPAÑOL. )
- Guía de administración de redes Debian . (Formato PDF. EN ESPAÑOL. )
Suscribirse a:
Entradas (Atom)