elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: [1]
1  Programación / Scripting / [traducción] Qué hay de nuevo en Python 2.5 en: 26 Septiembre 2006, 04:07 am
Hace un tiempo atrás leí un mail de la Lista de Python en el que se planteaba la idea de traducir el artículo escrito por Andrew Kuchling: What’s New in Python 2.5. Desde entonces sigo atento el trabajo que realiza en su blog El Ornitorrinco Enmascarado. Lamentablemente da la impresión que este esfuerzo está pasando un tanto desapercibido, así que para ayudar a dar a conocer este muy, muy, muy útil documento, decidí ayudar publicando las traducciones, aunque con algunas pequeñas e insignificantes modificaciones (obviamente previa autorización)...

si a alguien le interesa revisar el trabajo y/o colaborar, pueden acceder a él desde http://s1d4rt4.wordpress.com/whats-new-in-python-25/. Eso sería, ojala le sirva a alguien mas =)

saludos!
2  Programación / Scripting / pyget o.O en: 20 Septiembre 2006, 03:46 am
tratando de emular el famoso comando wget del mundo unix

Código:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

''' una mala copia de wget'''

__author__ = 's1d4rt4 <s1d4rt4@gmail.com'
__date__ = '19/09/06'
__version__ = '1.0'
__license__ = 'GPL'

import urllib
import sys
import os

def pyget(url,path):
''' descarga el archivo'''

file = url.split('/')[-1]
dir = os.getcwd()

try:
print 'Conectando a', url
urllib.urlopen(url)
print 'Espere mientras se descarga %s...' % file
urllib.urlretrieve(url,path)
print '%s ha sido descargado en %s' % (file,dir)
except:
print 'Ha ocurrido un error, compruebe la URL'

if __name__ == '__main__' :

if len(sys.argv) < 2:
print 'Falta URL'
print 'Uso: pyget.py [URL]'
print '\nPara más información: "pyget.py --help"'
sys.exit()

elif sys.argv[1].startswith('--'):
option = sys.argv[1][2:]

if option == 'help':
print 'Este programa pretende emular el comando Unix "wget"'
print '\nUso: pyget.py [URL]'
print 'Opciones disponibles: '
print ' --about         : Sobre el autor'
print ' --help         : Muestra la ayuda'
print' --version : Imprime la versión del programa'

if option == 'version':
print 'Version 1.0'

if option == 'about':
print 'Pywget 1.0'
print 'Autor: Carlos Rogel Montecinos'
print 'Web: s1d4rt4.wordpress.com'
print 'Contacto: s1d4rt4@gmail.com'
print '\nSeptiembre 19 de 2006'

elif option != 'about' and option != 'help' and option != 'version':
print 'Opción desconocida'
sys.exit()

else:

path = os.getcwd()
url = sys.argv[1].split('/')[-1]

pyget(sys.argv[1],path+'/'+url)

increible la potencia del módulo urlib... k les parece?
3  Programación / Scripting / una libreta de direcciones en python en: 30 Agosto 2006, 03:22 am
emmmm, eso,me leí algunos manuales (como el de la uji y el libro byte of python), y decidí escribir una libreta de direcciones de email para probar si había digerido el contenido o no... el programa funciona, no es gran cosa pero cumple su cometido.

Se los posteo para saber k opinan y si la forma en que lo escribí es la correcta o no, pork se me ocurren por lo menos 3 o 4 formas distintas de escribirlo

Código:
#!/usr/bin/python
# -*- coding: iso-8859-15 -*-

import cPickle as p

class AddressBook:

        email = {}
        inputt = ''
        archivo = 'ab.data'

        def __init__(self): # decidiendo si es necesario cargar o crear ab.data
                try:
                        f = file(AddressBook.archivo)
                        AddressBook.email = p.load(f)
                        f.close()
                except:
                        f = file(AddressBook.archivo,'w')
                        f.close()

                print '---------------------------------------'
                print ' AddressBook 1.0'
                print '---------------------------------------'

        def menu(self):
                while not ('a'<= AddressBook.inputt <='f'):
                        print 'a) Agregar contacto'
                        print 'b) Modificar Contacto'
                        print 'c) Eliminar contacto'
                        print 'd) Buscar contacto'
                        print 'e) Mostrar todos'
                        print 'f) Salir'
           
                        AddressBook.inputt = raw_input('ingrese una opción: ')
           
                        if not ('a'<= AddressBook.inputt <='f'):
                                print '---------------------------------------'
                                print 'La opción "%s" no es correcta' % AddressBook.inputt
                                print '---------------------------------------'

        def add(self): # agregar contacto
                contact = raw_input('Ingrese el nombre del contacto: ')
                email = raw_input('Ingrese email: ')
                AddressBook.email[contact] = email

                print '---------------------------------------'
                print '"%s" ha sido agregado(a)' % contact
                print '---------------------------------------'

                AddressBook.inputt = ''
       
        def modify(self): # modificar contacto
                contact = raw_input('Ingrese el contacto que desea modificar: ')

                if contact in AddressBook.email:
                        email = raw_input('ingrese el nuevo email: ')
                        AddressBook.email[contact] = email
                        print '---------------------------------------'
                        print '"%s" ha sido actualizado(a)' % contact
                        print '---------------------------------------'
                else:
                        print '---------------------------------------'
                        print '"%s" no existe' % contact
                        print '---------------------------------------'

                AddressBook.inputt = ''
       
        def delete(self): # eliminar contacto
                contact = raw_input('Ingrese el contacto que desea eliminar: ')

                if contact in AddressBook.email:
                        del AddressBook.email[contact]
                        print '---------------------------------------'
                        print '"%s" ha sido eliminado(a)' % contact
                        print '---------------------------------------'
                else:
                        print '---------------------------------------'
                        print '"%s" no existe(a)' % contact
                        print '---------------------------------------'
           
                AddressBook.inputt = ''

        def search(self): # buscar contacto
                contact = raw_input('Ingrese el nombre del contacto: ')

                if contact in AddressBook.email:
                        print '---------------------------------------'
                        print 'El email de %s es %s' % (contact, AddressBook.email[contact])
                        print '---------------------------------------'

                else:
                        print '---------------------------------------'
                        print '"%s" no existe' % contact
                        print '---------------------------------------'
           
                AddressBook.inputt = ''

        def view_all(self): # mostrar todos los contactos
                print '---------------------------------------'
                for name, email in AddressBook.email.items():
                        print 'El email de %s es %s' % (name,email)
                        print '---------------------------------------'


                AddressBook.inputt = ''

# programa principal
a = AddressBook()
a.menu()

while a.inputt != 'f':
        if a.inputt == 'a':
                a.add()
                a.menu()
   
        elif a.inputt == 'b':
                a.modify()
                a.menu()
   
        elif a.inputt == 'c':
                a.delete()
                a.menu()

        elif a.inputt == 'd':
                a.search()
                a.menu()
       
        elif a.inputt == 'e':
                a.view_all()
                a.menu()

if a.inputt == 'f': # guardar los emails en un archivo
        f = file(a.archivo,'w')
        p.dump(a.email,f)
        f.close()

eso pues =) espero sus comentarios... saludos!
4  Programación / Scripting / ayida con python =( en: 18 Julio 2006, 21:35 pm
hasta ahora iva todo bien, entendiéndo todo y bla bla bla... la cosa es que llegue a las cadenas, y entre los ejercicios k propone el tutorial que estoy siguiéndo, está el crear un programa k identifique cuantos números hay dentro de una frase...

Código:
x = raw_input('ingrese una frase: ') 
n = 0                                           
for i in x:
    if i>=0 or i<=0:
        n+=1

if n>=1:
    print 'la cadena contiene', n, 'números'

la verdad no tengo idea donde está el error, no imaginan cuanto tiempo le he dedicado ¬¬ lo he escrito de mil formas y las mil formas no funcionan... esta en especial me dice k todo lo k escribo, inclusive las letras, son numeros ¬¬
5  Programación / Scripting / integrar python a dos en: 13 Julio 2006, 04:25 am
en linux se puede llamar a python desde la consola en caulkier lugar, mi pregunta es si hay alguna forma de hacer lo mismo desde dos ;D

gracias de antemano :)
6  Programación / Scripting / editor para python en: 8 Julio 2006, 22:12 pm
holas, soy nuevo por aca y quiero aprender a programar en python  ;D y en la pagina dice k tengo k tener un IDE y un editor de texto... y por lo visto hay muchos y no se cual descargarme :( me podrían recomendar algunos porfa  :rolleyes:
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines