[Python-es] Subscripcion al Python Job Board
Saludos a todos los Pythonistas ¿Existe alguna forma de subscribirse a la lista j...@python.org? que estaba buscando en las listas de correo y no veo la forma. Gracias de antemano -- Marcos Luís Ortíz Valmaseda Software Engineer (Large-Scaled Distributed Systems) University of Information Sciences, La Habana, Cuba Linux User # 418229 http://about.me/marcosortiz http://github.com/marcosluis2186 ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Subscripcion al Python Job Board
2011/5/8 Marcos Ortiz mlor...@uci.cu: Saludos a todos los Pythonistas ¿Existe alguna forma de subscribirse a la lista j...@python.org? que estaba buscando en las listas de correo y no veo la forma. Yo lo leo desde el feed rss http://feeds.feedburner.com/Python/pyjobo Gracias de antemano -- Marcos Luís Ortíz Valmaseda Software Engineer (Large-Scaled Distributed Systems) University of Information Sciences, La Habana, Cuba Linux User # 418229 http://about.me/marcosortiz http://github.com/marcosluis2186 ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ -- http://javisantana.com ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] subprocess
tengo esto: ruta = subprocess.Popen(hostname, stdout=subprocess.PIPE) resultado = ruta.communicate()[0] se que el resultado de salida lo almacena en result, pero como ejecutar un comando que contenga el caracter | por ejemplo este -- ps auxww | grep postgres: | sort -k 9, se que incluso puedo hacer esto: ruta = subprocess.Popen(ls, -l, stdout=subprocess.PIPE) resultado = ruta.communicate()[0] pero como decía anteriormente quisiera ejecutar este comando ps auxww | grep postgres: | sort -k 9 como lo hago con hostname y ls -l ... No entiendo muy bien lo que quieres hacer: *pero como decía anteriormente quisiera ejecutar este comando ps auxww | grep postgres: | sort -k 9 como lo hago con hostname y ls -l ... *pero quizá lo siguiente te pueda ayudar: http://docs.python.org/library/subprocess.html#replacing-shell-pipeline ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] subprocess
muchas gracias kiko, las url me sirvio de mucho - Mensaje original - De: Kiko kikocorre...@gmail.com Para: La lista de python en castellano python-es@python.org Enviados: Domingo, 8 de Mayo 2011 7:10:54 (GMT-0500) Auto-Detected Asunto: Re: [Python-es] subprocess tengo esto: ruta = subprocess.Popen(hostname, stdout=subprocess.PIPE) resultado = ruta.communicate()[0] se que el resultado de salida lo almacena en result, pero como ejecutar un comando que contenga el caracter | por ejemplo este -- ps auxww | grep postgres: | sort -k 9, se que incluso puedo hacer esto: ruta = subprocess.Popen(ls, -l, stdout=subprocess.PIPE) resultado = ruta.communicate()[0] pero como decía anteriormente quisiera ejecutar este comando ps auxww | grep postgres: | sort -k 9 como lo hago con hostname y ls -l ... No entiendo muy bien lo que quieres hacer: pero como decía anteriormente quisiera ejecutar este comando ps auxww | grep postgres: | sort -k 9 como lo hago con hostname y ls -l ... pero quizá lo siguiente te pueda ayudar: http://docs.python.org/library/subprocess.html#replacing-shell-pipeline ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
[Python-es] Iterar 2 veces sobre 1 lista y comparar sus objetos lo mas rapido
Hola, estoy haciendo unas pequeñas pruebas en pygame tengo un diccionario de palabras con tus tags, cada palabra será una bola y si alguna de las palabras tiene igual tag que otra entonces se unirán con una línea, y así hasta iterar sobre toda el diccionario actualmente tengo esto y funciona bien #!/usr/bin/env python # -*- coding: utf-8 -*- import pygame import random class Neurons():#pygame.sprite.Sprite): def __init__(self, x, y, color, key, tags): self.x = x self.y = y self.color = color self.key = key self.tags = tags def draw(self, surf): pygame.draw.circle(surf, self.color, [self.x, self.y], 10) def pos(self): return (self.x, self.y) def line(surf, start, end): pygame.draw.line(surf, read, start, end, 1) words = {'uno': '1 2 3', 'dos': '3 4 5', 'tres': '5 6 7', 'cuatro': '2 5 8', 'cinco': '5 3 7', 'seis': '7 6 3'} pygame.init() black = [0, 0, 0] white = [255, 255, 255] read = [255, 0, 0] # Set the height and width of the screen size = [400, 400] screen = pygame.display.set_mode(size) pygame.display.set_caption(Net) neurons = [] for word in words: x = random.randrange(100, 400) y = random.randrange(100, 400) neuron = Neurons(x, y, white, word, words[word]) neurons.append(neuron) clock = pygame.time.Clock() def compare(tags1, tags2): for i in tags1.split(' '): for j in tags2.split(' '): if (i == j): return True return False neurons2 = neurons[:] done = False while not done: for event in pygame.event.get(): # User did something if event.type == pygame.QUIT: done = True screen.fill(black) for i in range(len(neurons)): neurons[i].draw(screen) #neuron = neurons.pop() #neuron = neurons[i] #neurons.remove(neurons[i]) for j in range(len(neurons)): if (i != j): if compare(neurons[i].tags, neurons[j].tags): #print neurons[i].tags, neurons[j].tags #print neuron.tags line(screen, neurons[i].pos(), neurons[j].pos()) pygame.display.flip() clock.tick(20) pygame.quit() Resulta que siempre hacía dos 2 anidados e iba comparando uno con todos, pero ahora que me doy cuenta estoy gastando recursos por que si una palabra y sus tags, por ej bar: 1, 2, 3 y otra palabra foo: 4, 2, 5 Resulta que tienen el tag 2 en común, y cuando se itera primero bar y luego foo entonces se traza una línea entre palabras, pero cuando la iteración le toque a foo en el primer for y en el segundo a bar, tendrán la mismo tag en común, entonces: Se trazarían 2 líneas, una desde bar - foo y otra de foo - bar pero como tienen los mismos puntos parece ser que es una sola línea. Entonces he decidio cojer un objeto y eliminarlo de la lista, con pop e iterar de nuevo pero en el segundo for ya no habría ese objeto entonces me ahorraría ese if ( i != j) y además menos una iteración, la próxima menos 2 y así hasta la mitad, de funcionar funciona el problema está en que como todo tiene que repetirse con el while la lista está vacía para el 2do while jeje hay alguna forma de quitar de la lista un objeto pero sin eliminarlo? de seguro que es fácil pero no me doy cuenta :( He intentado con copiar a otra lista, pero en la 2da iteración del while ya está vacía, además no es la idea copir otra lista si no remover en el primer for el objeto para que en el 2do ya no se itere y no tenga que comparar si es el mismo y además será mucho más rápido gracias :) -- lopz es libre, usa -- GNU/linux gentoo +--[RSA 2048]--+ | ..o.o=+ | | o =o*.+ | | . . *oO . | | .EBoo | | o.S | +--[lopz.org]--+ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Iterar 2 veces sobre 1 lista y comparar sus objetos lo mas rapido
El día 8 de mayo de 2011 18:28, Andrey Antoukh and...@gmail.com escribió: Hola. hola No se si estoy en lo cierto, pero puede que te haga falta un itertools.tee() http://docs.python.org/library/itertools.html#itertools.tee Un ejemplo simple: a = [1,2,3,4,5,6] from itertools import tee first, second = tee(a, 2) while True: try: first_next = next(first) second_next = next(second) if first_next == second_next: print first_next, second_next except StopIteration: break Un saludo. Andrei. Voy a probarlo, no conocía tee :O , toca leer, gracias :) El 9 de mayo de 2011 00:17, lopz lowlife...@gmail.com escribió: Hola, estoy haciendo unas pequeñas pruebas en pygame tengo un diccionario de palabras con tus tags, cada palabra será una bola y si alguna de las palabras tiene igual tag que otra entonces se unirán con una línea, y así hasta iterar sobre toda el diccionario actualmente tengo esto y funciona bien #!/usr/bin/env python # -*- coding: utf-8 -*- import pygame import random class Neurons():#pygame.sprite.Sprite): def __init__(self, x, y, color, key, tags): self.x = x self.y = y self.color = color self.key = key self.tags = tags def draw(self, surf): pygame.draw.circle(surf, self.color, [self.x, self.y], 10) def pos(self): return (self.x, self.y) def line(surf, start, end): pygame.draw.line(surf, read, start, end, 1) words = {'uno': '1 2 3', 'dos': '3 4 5', 'tres': '5 6 7', 'cuatro': '2 5 8', 'cinco': '5 3 7', 'seis': '7 6 3'} pygame.init() black = [0, 0, 0] white = [255, 255, 255] read = [255, 0, 0] # Set the height and width of the screen size = [400, 400] screen = pygame.display.set_mode(size) pygame.display.set_caption(Net) neurons = [] for word in words: x = random.randrange(100, 400) y = random.randrange(100, 400) neuron = Neurons(x, y, white, word, words[word]) neurons.append(neuron) clock = pygame.time.Clock() def compare(tags1, tags2): for i in tags1.split(' '): for j in tags2.split(' '): if (i == j): return True return False neurons2 = neurons[:] done = False while not done: for event in pygame.event.get(): # User did something if event.type == pygame.QUIT: done = True screen.fill(black) for i in range(len(neurons)): neurons[i].draw(screen) #neuron = neurons.pop() #neuron = neurons[i] #neurons.remove(neurons[i]) for j in range(len(neurons)): if (i != j): if compare(neurons[i].tags, neurons[j].tags): #print neurons[i].tags, neurons[j].tags #print neuron.tags line(screen, neurons[i].pos(), neurons[j].pos()) pygame.display.flip() clock.tick(20) pygame.quit() Resulta que siempre hacía dos 2 anidados e iba comparando uno con todos, pero ahora que me doy cuenta estoy gastando recursos por que si una palabra y sus tags, por ej bar: 1, 2, 3 y otra palabra foo: 4, 2, 5 Resulta que tienen el tag 2 en común, y cuando se itera primero bar y luego foo entonces se traza una línea entre palabras, pero cuando la iteración le toque a foo en el primer for y en el segundo a bar, tendrán la mismo tag en común, entonces: Se trazarían 2 líneas, una desde bar - foo y otra de foo - bar pero como tienen los mismos puntos parece ser que es una sola línea. Entonces he decidio cojer un objeto y eliminarlo de la lista, con pop e iterar de nuevo pero en el segundo for ya no habría ese objeto entonces me ahorraría ese if ( i != j) y además menos una iteración, la próxima menos 2 y así hasta la mitad, de funcionar funciona el problema está en que como todo tiene que repetirse con el while la lista está vacía para el 2do while jeje hay alguna forma de quitar de la lista un objeto pero sin eliminarlo? de seguro que es fácil pero no me doy cuenta :( He intentado con copiar a otra lista, pero en la 2da iteración del while ya está vacía, además no es la idea copir otra lista si no remover en el primer for el objeto para que en el 2do ya no se itere y no tenga que comparar si es el mismo y además será mucho más rápido gracias :) -- lopz es libre, usa -- GNU/linux gentoo +--[RSA 2048]--+ | ..o.o=+ | | o =o*.+ | | . . *oO . | | .EBoo | | o.S | +--[lopz.org]--+ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ -- http://twitter.com/andsux http://www.niwi.be http://www.freebsd.org/ http://www.postgresql.org/ http://www.python.org/ http://www.djangoproject.com/ Linux is for people who hate Windows, BSD is for people who love UNIX Social Engineer -
[Python-es] Programar para Blackberry en Python
Hola como están? Soy algo nuevo en Python, apenas llevo usándolo unos 2 meses, me gustaría saber si existen interpretes de python para Blackberry? Un saludo :) -- Asdrúbal Iván Suárez Rivera *El éxito de alguien que enseña no es que sepa mucho, sino que lo poco que sabe lo sepa hacer llegar.* ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Iterar 2 veces sobre 1 lista y comparar sus objetos lo mas rapido
El día 9 de mayo de 2011 00:17, lopz lowlife...@gmail.com escribió: Hola, estoy haciendo unas pequeñas pruebas en pygame tengo un diccionario de palabras con tus tags, cada palabra será una bola y si alguna de las palabras tiene igual tag que otra entonces se unirán con una línea, y así hasta iterar sobre toda el diccionario actualmente tengo esto y funciona bien #!/usr/bin/env python # -*- coding: utf-8 -*- import pygame import random class Neurons():#pygame.sprite.Sprite): def __init__(self, x, y, color, key, tags): self.x = x self.y = y self.color = color self.key = key self.tags = tags def draw(self, surf): pygame.draw.circle(surf, self.color, [self.x, self.y], 10) def pos(self): return (self.x, self.y) def line(surf, start, end): pygame.draw.line(surf, read, start, end, 1) words = {'uno': '1 2 3', 'dos': '3 4 5', 'tres': '5 6 7', 'cuatro': '2 5 8', 'cinco': '5 3 7', 'seis': '7 6 3'} pygame.init() black = [0, 0, 0] white = [255, 255, 255] read = [255, 0, 0] # Set the height and width of the screen size = [400, 400] screen = pygame.display.set_mode(size) pygame.display.set_caption(Net) neurons = [] for word in words: x = random.randrange(100, 400) y = random.randrange(100, 400) neuron = Neurons(x, y, white, word, words[word]) neurons.append(neuron) clock = pygame.time.Clock() def compare(tags1, tags2): for i in tags1.split(' '): for j in tags2.split(' '): if (i == j): return True return False neurons2 = neurons[:] done = False while not done: for event in pygame.event.get(): # User did something if event.type == pygame.QUIT: done = True screen.fill(black) for i in range(len(neurons)): neurons[i].draw(screen) #neuron = neurons.pop() #neuron = neurons[i] #neurons.remove(neurons[i]) for j in range(len(neurons)): if (i != j): if compare(neurons[i].tags, neurons[j].tags): #print neurons[i].tags, neurons[j].tags #print neuron.tags line(screen, neurons[i].pos(), neurons[j].pos()) pygame.display.flip() clock.tick(20) pygame.quit() Resulta que siempre hacía dos 2 anidados e iba comparando uno con todos, pero ahora que me doy cuenta estoy gastando recursos por que si una palabra y sus tags, por ej bar: 1, 2, 3 y otra palabra foo: 4, 2, 5 Resulta que tienen el tag 2 en común, y cuando se itera primero bar y luego foo entonces se traza una línea entre palabras, pero cuando la iteración le toque a foo en el primer for y en el segundo a bar, tendrán la mismo tag en común, entonces: Se trazarían 2 líneas, una desde bar - foo y otra de foo - bar pero como tienen los mismos puntos parece ser que es una sola línea. Fácil solución. En vez de iterar j de 0 a len(neurons), itera j de i a len(neurons). Así siempre trazaras lineas del objeto con ordinal menor a objetos con ordinal mayor, o lo que es lo mismo, solo una vez. Entonces he decidio cojer un objeto y eliminarlo de la lista, con pop e iterar de nuevo pero en el segundo for ya no habría ese objeto entonces me ahorraría ese if ( i != j) y además menos una iteración, la próxima menos 2 y así hasta la mitad, de funcionar funciona el problema está en que como todo tiene que repetirse con el while la lista está vacía para el 2do while jeje hay alguna forma de quitar de la lista un objeto pero sin eliminarlo? de seguro que es fácil pero no me doy cuenta :( He intentado con copiar a otra lista, pero en la 2da iteración del while ya está vacía, además no es la idea copir otra lista si no remover en el primer for el objeto para que en el 2do ya no se itere y no tenga que comparar si es el mismo y además será mucho más rápido Puestos a hacer optimizaciones, ¿no te parece un poco ineficiente hacer el split para convertir la cadena de los tags a una lista una y otra vez en la función compare? Pero bueno, tampoco hay que ponerse estricto ahí, a mi usar un set para almacenar los tags me parecería apropiado. En vez del bucle anidado de la función compare, la cosa se podría quedar en: if set_a set_b: trazar_linea(a, b) Esta última propuesta no sería la más óptima en rendimiento. Necesitaría extraer la unión de los dos conjuntos y no se detendría al encontrar el primero en común. Pero me gusta porque es bastante concisa y legible. Aunque siempre se puede seguir usando los bucles anidados con las listas, que tambien son iterables. Saludos: Javi ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Programar para Blackberry en Python
, me gustaría saber si existen interpretes de python para Blackberry? Imagino que no estás realmente preguntando si te gustaría saberlo ;) Ahora en serio. Si le preguntas a google por python + interpreter + blackberry, ¿qué te dice? ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/