From agtugo en gmail.com Thu Feb 2 13:06:59 2017 From: agtugo en gmail.com (AGTUGO) Date: Thu, 2 Feb 2017 12:06:59 -0600 Subject: [Python-es] Pandas In-Reply-To: References: <6C6B3A68-281A-4C53-BB18-BF33B9C69126@gmail.com> Message-ID: Scipy, con pandas y algunas librerías son suficientes para estos temas. Pero si tuvieramos algo con que comparar sería más objetivo, o algo específico que quieras hacer. 2017-01-30 9:43 GMT-06:00 DiegoUG : > Nose si sea tu caso, pero en mi caso la uso para operaciones matemáticas > complejas. > > El 30 de enero de 2017, 8:34, Kiko escribió: > >> >> >> El 29 de enero de 2017, 18:35, LA REPISA escribió: >> >>> Buenas tardes, >>> >>> ¿Consideráis a Pandas una librería orientada al análisis de datos o más >>> bien, una librería orientada al manejo y preparación de los datos (Data >>> munging)? >>> >> >> Depende. Mi respuesta es tan vaga como la pregunta :-) >> >> Define análisis de datos y define manejo y preparación de datos. >> >> Para lo segundo, sin duda es una herramienta increible. >> Para lo primero, si análisis de datos es sacar un promedio de los valores >> de una columna después de filtrar por determinadas condiciones entonces >> también vale. Si es aplicar un GBRT, un análisis cluster o hacer >> procesamiento de señal pues hay librerías más especializadas. >> >> Saludos. >> >> >>> >>> Un saludo desde Madrid >>> >>> >>> Enviado desde mi iPhone >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > > -- > *Diego Alonso Uribe Gamez* > ------------------------------ > > *Desarrollador web* > > Twitter: @DiegoUG > > Google+: +DiegoAlonsoUribeGamez > > ------------------------------ > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > -- Arturo Muñoz Tolosa ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From computer.music.neix en gmail.com Mon Feb 6 22:44:23 2017 From: computer.music.neix en gmail.com (miquel parera) Date: Tue, 7 Feb 2017 04:44:23 +0100 Subject: [Python-es] Tiempo en eventos de pygame Message-ID: Hola Disculpad mi pregunta de novato, pero hay algo en el manejo del tiempo que no acabo de entender. Quiero que, al clickar un cuadradro, se torne blanco y, al segundo, vuelva a ser negro. Pero ni pygame.time.delay(1000) funcionan ni time.sleep(1) funcionan. Alguna idea? gracias! import pygame # Pygame screen # Cuadrados # Añadir tiempo al click # colores BLACK = ( 0, 0, 0) WHITE = ( 255, 255, 255) GREEN = ( 0, 255, 0) RED = ( 255, 0, 0) # iniciar pygame pygame.init() # caracteristicas de la ventana size = (260,260) screen = pygame.display.set_mode(size) pygame.display.set_caption("Pantalla") # definir array de cuadro (10x10) width = 20 height = 20 margin = 5 grid = [[0 for x in range(10)] for y in range(10)] # control de procesos done = False clock = pygame.time.Clock() # loop principal while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True # evento de click elif event.type == pygame.MOUSEBUTTONDOWN: column = pos[0] // (width + margin) row = pos[1] // (height + margin) # print print("Click ", pos, "Coordenadas: ", row, column) grid[row][column] = 1 pygame.time.delay(1000) grid[row][column] = 0 # lógica de click pos = pygame.mouse.get_pos() x = pos[0] y = pos[1] #color de fondo screen.fill(WHITE) # dibujar cuadro for row in range(10): for column in range(10): if grid[row][column] == 1: color = WHITE else: color = BLACK pygame.draw.rect(screen, color, [margin + (margin + width) * column, margin + (margin + height) * row, width, height]) # escribir todo pygame.display.flip() clock.tick(60) # finalizar pygame.quit() -- *Musicnumbers Netlabel (for almost silence): http://musicnumbers.es/ * ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From tres.14159 en gmail.com Tue Feb 7 19:40:38 2017 From: tres.14159 en gmail.com (Miguel de Dios Matias) Date: Wed, 8 Feb 2017 01:40:38 +0100 Subject: [Python-es] Tiempo en eventos de pygame In-Reply-To: References: Message-ID: Es raro porque a mi si me funciona con clock.tick() como puedes ver en mi código: https://github.com/mdtrooper/pyretro 2017-02-07 4:44 GMT+01:00 miquel parera : > Hola > > Disculpad mi pregunta de novato, pero hay algo en el manejo del tiempo que > no acabo de entender. Quiero que, al clickar un cuadradro, se torne blanco > y, al segundo, vuelva a ser negro. > Pero ni pygame.time.delay(1000) funcionan ni time.sleep(1) funcionan. > > Alguna idea? gracias! > > import pygame > > # Pygame screen > # Cuadrados > # Añadir tiempo al click > > # colores > > BLACK = ( 0, 0, 0) > WHITE = ( 255, 255, 255) > GREEN = ( 0, 255, 0) > RED = ( 255, 0, 0) > > # iniciar pygame > > pygame.init() > > # caracteristicas de la ventana > > size = (260,260) > screen = pygame.display.set_mode(size) > > pygame.display.set_caption("Pantalla") > > # definir array de cuadro (10x10) > > width = 20 > height = 20 > margin = 5 > > grid = [[0 for x in range(10)] for y in range(10)] > > > # control de procesos > > done = False > > clock = pygame.time.Clock() > > # loop principal > > while not done: > > for event in pygame.event.get(): > if event.type == pygame.QUIT: > done = True > > # evento de click > > elif event.type == pygame.MOUSEBUTTONDOWN: > column = pos[0] // (width + margin) > row = pos[1] // (height + margin) > # print > print("Click ", pos, "Coordenadas: ", row, column) > grid[row][column] = 1 > pygame.time.delay(1000) > grid[row][column] = 0 > > # lógica de click > pos = pygame.mouse.get_pos() > x = pos[0] > y = pos[1] > > #color de fondo > > screen.fill(WHITE) > > # dibujar cuadro > > for row in range(10): > for column in range(10): > if grid[row][column] == 1: > color = WHITE > else: > color = BLACK > pygame.draw.rect(screen, color, [margin + (margin + width) * > column, margin + (margin + height) * row, width, height]) > > > > # escribir todo > > pygame.display.flip() > > clock.tick(60) > > # finalizar > > pygame.quit() > > > > > -- > > > Musicnumbers Netlabel (for almost silence): http://musicnumbers.es/ > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > From astralrod en gmail.com Wed Feb 8 18:40:00 2017 From: astralrod en gmail.com (astralrod) Date: Wed, 8 Feb 2017 17:40:00 -0600 Subject: [Python-es] Tiempo en eventos de pygame In-Reply-To: References: Message-ID: El problema es en grid[row][column] = 1 pygame.time.delay(1000) grid[row][column] = 0 Aquí pones esa celda en 1, se pausa el programa y cuando se retoma la secuencia, lo vuelves a asignar a 0, eso ace que al entrar al ciclo que pone los colores va a leer que esa celda es cero, por lo tanto la pone en color negro. Lo que puede hacer, es que al dar click se asigne esa celda a 1; el delay y la asignación a 0 lo pones despues de pintar la celda. Espero esto te sirva Suerte 2017-02-06 21:44 GMT-06:00, miquel parera : > Hola > > Disculpad mi pregunta de novato, pero hay algo en el manejo del tiempo que > no acabo de entender. Quiero que, al clickar un cuadradro, se torne blanco > y, al segundo, vuelva a ser negro. > Pero ni pygame.time.delay(1000) funcionan ni time.sleep(1) funcionan. > > Alguna idea? gracias! > > import pygame > > # Pygame screen > # Cuadrados > # Añadir tiempo al click > > # colores > > BLACK = ( 0, 0, 0) > WHITE = ( 255, 255, 255) > GREEN = ( 0, 255, 0) > RED = ( 255, 0, 0) > > # iniciar pygame > > pygame.init() > > # caracteristicas de la ventana > > size = (260,260) > screen = pygame.display.set_mode(size) > > pygame.display.set_caption("Pantalla") > > # definir array de cuadro (10x10) > > width = 20 > height = 20 > margin = 5 > > grid = [[0 for x in range(10)] for y in range(10)] > > > # control de procesos > > done = False > > clock = pygame.time.Clock() > > # loop principal > > while not done: > > for event in pygame.event.get(): > if event.type == pygame.QUIT: > done = True > > # evento de click > > elif event.type == pygame.MOUSEBUTTONDOWN: > column = pos[0] // (width + margin) > row = pos[1] // (height + margin) > # print > print("Click ", pos, "Coordenadas: ", row, column) > grid[row][column] = 1 > pygame.time.delay(1000) > grid[row][column] = 0 > > # lógica de click > pos = pygame.mouse.get_pos() > x = pos[0] > y = pos[1] > > #color de fondo > > screen.fill(WHITE) > > # dibujar cuadro > > for row in range(10): > for column in range(10): > if grid[row][column] == 1: > color = WHITE > else: > color = BLACK > pygame.draw.rect(screen, color, [margin + (margin + width) * > column, margin + (margin + height) * row, width, height]) > > > > # escribir todo > > pygame.display.flip() > > clock.tick(60) > > # finalizar > > pygame.quit() > > > > > -- > > > *Musicnumbers Netlabel (for almost silence): http://musicnumbers.es/ > * > From flxpaz en gmail.com Wed Feb 8 22:05:31 2017 From: flxpaz en gmail.com (Rolando Paz) Date: Wed, 8 Feb 2017 21:05:31 -0600 Subject: [Python-es] =?utf-8?q?Actualizar_C=C3=B3digo?= Message-ID: Hola de nuevo! :) Espero puedan ayudarme a entender este pedazo de código: for b in range(eq_blocks): if not opts.flat_eq == '': eq_level = int(opts.flat_eq) else: eq_level = config['eq']['eq_polys'][b][0] for c in range(eq_chans): eq_coeff = b #shift 10 bits eq_coeff *= 2**10 eq_coeff += c #shift 3 bits eq_coeff *= 2**3 eq_coeff += 1 #shift 17 bits eq_coeff *= 2**17 eq_coeff += eq_level if opts.verbose is True: print 'EQ Block: %i Channel: %i EQ Level: %i' % (b,c,eq_level) s.send("regwrite eq_coeff %i\n"% eq_coeff) time.sleep(.1) s.send("regread eq_coeff\n") #print("regwrite eq_coeff %i\n"% eq_coeff) time.sleep(.1) #print("regread eq_coeff\n") El archivo "config" desde donde obtiene los valores este código es este: [equalization] #Perform automatic equalization (=1) or set to fixed EQ_poly values (=0) auto_eq = 0 #Number of equalization blocks, include an eq_poly_x entry for each block eq_blocks = 4 #Number of equalization channels per equalization block eq_chans = 64 #Starting point for auto-equalization or values for manual eq programming. #One line entry per antenna. Item is a list of polynomial coefficients. #Eg, #EQ_poly_0 = 10, 30 ,40 #corresponds to 10 + 30x^2 + 40x^4 EQ_poly_0 = 300 EQ_poly_1 = 300 EQ_poly_2 = 300 EQ_poly_3 = 300 Explicación de lo que hace: Dentro de un diseño digital que estoy tratando de entender, existen cuatro bloques de ecualización; que lo que hacen es asignar un valor (300) a cada canal (de los 64) para ecualizarlos y con esto reducir los bits de 36 a 4 (esta ultima parte solo como referencia, pues esta reducción se realizar digitalmente dentro del bloque que les menciono). Este codigo funciona perfectamente, sin embargo ahora no debo usar un archivo "config" externo, por lo que debo agregar, eq_blocks = 4, eq_chans = 64 y EQ_poly_0 = 300, EQ_poly_1 = 300, EQ_poly_2 = 300, EQ_poly_3 = 300, dentro del código. Con eq_blocks y eq_chans no tengo problemas, pues es solo de sustituir el valor, sin embargo con lo demás no logro entender lo que debo hacer. Quizas es algo sencillo pero no aún no logro hacerlo :) Gracias de antemano por las sugerencias. Rolando ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From morillas en gmail.com Mon Feb 13 11:02:00 2017 From: morillas en gmail.com (Luis Miguel Morillas) Date: Mon, 13 Feb 2017 17:02:00 +0100 Subject: [Python-es] =?utf-8?q?Software_gesti=C3=B3n_conferencias?= Message-ID: Hola, Estoy buscando algo para gestionar el registro a unas jornadas que queremos hacer, sobre todo la inscripción en talleres (5 talleres simultáneos durante un par de días) No necesito pasarela de pago porque el evento es gratuito. He visto alguna app para django. Alguna recomendación? Saludos, -- luismiguel (@lmorillas) From alvarojusten en gmail.com Mon Feb 13 11:06:34 2017 From: alvarojusten en gmail.com (=?UTF-8?B?w4FsdmFybyBKdXN0ZW4gW1R1cmljYXNd?=) Date: Mon, 13 Feb 2017 14:06:34 -0200 Subject: [Python-es] =?utf-8?q?Software_gesti=C3=B3n_conferencias?= In-Reply-To: References: Message-ID: Hola, Luis! Estas buscando algún servicio Web o el codigo fuente de una aplicación que haga eso? Algunos chicos de Brasil crearan un app simple para el registro de la PythonBrasil de 2012, pero no sé se está actualizado el codigo: https://github.com/pythonbrasil/pythonbrasil8 Saludos, Álvaro Justen "Turicas" http://turicas.info/ http://twitter.com/turicas http://CursoDeArduino.com.br/ http://github.com/turicas +55 21 9 9898-0141 2017-02-13 14:02 GMT-02:00 Luis Miguel Morillas : > Hola, > > Estoy buscando algo para gestionar el registro a unas jornadas que > queremos hacer, sobre todo la inscripción en talleres (5 talleres > simultáneos durante un par de días) No necesito pasarela de pago > porque el evento es gratuito. > > He visto alguna app para django. Alguna recomendación? > > > Saludos, > > -- luismiguel (@lmorillas) > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es From kikocorreoso en gmail.com Mon Feb 13 11:18:10 2017 From: kikocorreoso en gmail.com (Kiko) Date: Mon, 13 Feb 2017 17:18:10 +0100 Subject: [Python-es] =?utf-8?q?Software_gesti=C3=B3n_conferencias?= In-Reply-To: References: Message-ID: symposium? https://github.com/pinax/symposion El 13 de febrero de 2017, 17:06, Álvaro Justen [Turicas] < alvarojusten en gmail.com> escribió: > Hola, Luis! > > Estas buscando algún servicio Web o el codigo fuente de una aplicación > que haga eso? > Algunos chicos de Brasil crearan un app simple para el registro de la > PythonBrasil de 2012, pero no sé se está actualizado el codigo: > https://github.com/pythonbrasil/pythonbrasil8 > > Saludos, > Álvaro Justen "Turicas" > http://turicas.info/ http://twitter.com/turicas > http://CursoDeArduino.com.br/ http://github.com/turicas > +55 21 9 9898-0141 > > > 2017-02-13 14:02 GMT-02:00 Luis Miguel Morillas : > > Hola, > > > > Estoy buscando algo para gestionar el registro a unas jornadas que > > queremos hacer, sobre todo la inscripción en talleres (5 talleres > > simultáneos durante un par de días) No necesito pasarela de pago > > porque el evento es gratuito. > > > > He visto alguna app para django. Alguna recomendación? > > > > > > Saludos, > > > > -- luismiguel (@lmorillas) > > _______________________________________________ > > Python-es mailing list > > Python-es en python.org > > https://mail.python.org/mailman/listinfo/python-es > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From morillas en gmail.com Mon Feb 13 11:43:10 2017 From: morillas en gmail.com (Luis Miguel Morillas) Date: Mon, 13 Feb 2017 17:43:10 +0100 Subject: [Python-es] =?utf-8?q?Software_gesti=C3=B3n_conferencias?= In-Reply-To: References: Message-ID: Buscaba el código para levantarlo nosotros. Si symposion con registrasion era una de las que había visto. Saludos, -- luismiguel (@lmorillas) El día 13 de febrero de 2017, 17:18, Kiko escribió: > symposium? > > https://github.com/pinax/symposion > > El 13 de febrero de 2017, 17:06, Álvaro Justen [Turicas] > escribió: >> >> Hola, Luis! >> >> Estas buscando algún servicio Web o el codigo fuente de una aplicación >> que haga eso? >> Algunos chicos de Brasil crearan un app simple para el registro de la >> PythonBrasil de 2012, pero no sé se está actualizado el codigo: >> https://github.com/pythonbrasil/pythonbrasil8 >> >> Saludos, >> Álvaro Justen "Turicas" >> http://turicas.info/ http://twitter.com/turicas >> http://CursoDeArduino.com.br/ http://github.com/turicas >> +55 21 9 9898-0141 >> >> >> 2017-02-13 14:02 GMT-02:00 Luis Miguel Morillas : >> > Hola, >> > >> > Estoy buscando algo para gestionar el registro a unas jornadas que >> > queremos hacer, sobre todo la inscripción en talleres (5 talleres >> > simultáneos durante un par de días) No necesito pasarela de pago >> > porque el evento es gratuito. >> > >> > He visto alguna app para django. Alguna recomendación? >> > >> > >> > Saludos, >> > >> > -- luismiguel (@lmorillas) >> > _______________________________________________ >> > Python-es mailing list >> > Python-es en python.org >> > https://mail.python.org/mailman/listinfo/python-es >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > From juanlu001 en gmail.com Mon Feb 13 12:00:34 2017 From: juanlu001 en gmail.com (Juan Luis Cano) Date: Mon, 13 Feb 2017 18:00:34 +0100 Subject: [Python-es] =?utf-8?q?Software_gesti=C3=B3n_conferencias?= In-Reply-To: References: Message-ID: Puedes usar el de la PyConES :) https://github.com/python-spain/PyConES-2016 2017-02-13 17:43 GMT+01:00 Luis Miguel Morillas : > Buscaba el código para levantarlo nosotros. > > Si symposion con registrasion era una de las que había visto. > > Saludos, > > -- luismiguel (@lmorillas) > > > El día 13 de febrero de 2017, 17:18, Kiko > escribió: > > symposium? > > > > https://github.com/pinax/symposion > > > > El 13 de febrero de 2017, 17:06, Álvaro Justen [Turicas] > > escribió: > >> > >> Hola, Luis! > >> > >> Estas buscando algún servicio Web o el codigo fuente de una aplicación > >> que haga eso? > >> Algunos chicos de Brasil crearan un app simple para el registro de la > >> PythonBrasil de 2012, pero no sé se está actualizado el codigo: > >> https://github.com/pythonbrasil/pythonbrasil8 > >> > >> Saludos, > >> Álvaro Justen "Turicas" > >> http://turicas.info/ http://twitter.com/turicas > >> http://CursoDeArduino.com.br/ http://github.com/turicas > >> +55 21 9 9898-0141 > >> > >> > >> 2017-02-13 14:02 GMT-02:00 Luis Miguel Morillas : > >> > Hola, > >> > > >> > Estoy buscando algo para gestionar el registro a unas jornadas que > >> > queremos hacer, sobre todo la inscripción en talleres (5 talleres > >> > simultáneos durante un par de días) No necesito pasarela de pago > >> > porque el evento es gratuito. > >> > > >> > He visto alguna app para django. Alguna recomendación? > >> > > >> > > >> > Saludos, > >> > > >> > -- luismiguel (@lmorillas) > >> > _______________________________________________ > >> > Python-es mailing list > >> > Python-es en python.org > >> > https://mail.python.org/mailman/listinfo/python-es > >> _______________________________________________ > >> Python-es mailing list > >> Python-es en python.org > >> https://mail.python.org/mailman/listinfo/python-es > > > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en python.org > > https://mail.python.org/mailman/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > -- Juan Luis Cano ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From morillas en gmail.com Tue Feb 14 03:56:41 2017 From: morillas en gmail.com (Luis Miguel Morillas) Date: Tue, 14 Feb 2017 09:56:41 +0100 Subject: [Python-es] =?utf-8?q?Software_gesti=C3=B3n_conferencias?= In-Reply-To: References: Message-ID: Juan Luis, cómo se hizo la inscripción en los talleres/charlas? He visto también http://indico.readthedocs.io/ , el que usan en el CERN, basado en flask Saludos, -- luismiguel (@lmorillas) El 13 de febrero de 2017, 18:00, Juan Luis Cano escribió: > Puedes usar el de la PyConES :) > > https://github.com/python-spain/PyConES-2016 > > 2017-02-13 17:43 GMT+01:00 Luis Miguel Morillas : > >> Buscaba el código para levantarlo nosotros. >> >> Si symposion con registrasion era una de las que había visto. >> >> Saludos, >> >> -- luismiguel (@lmorillas) >> >> >> El día 13 de febrero de 2017, 17:18, Kiko >> escribió: >> > symposium? >> > >> > https://github.com/pinax/symposion >> > >> > El 13 de febrero de 2017, 17:06, Álvaro Justen [Turicas] >> > escribió: >> >> >> >> Hola, Luis! >> >> >> >> Estas buscando algún servicio Web o el codigo fuente de una aplicación >> >> que haga eso? >> >> Algunos chicos de Brasil crearan un app simple para el registro de la >> >> PythonBrasil de 2012, pero no sé se está actualizado el codigo: >> >> https://github.com/pythonbrasil/pythonbrasil8 >> >> >> >> Saludos, >> >> Álvaro Justen "Turicas" >> >> http://turicas.info/ http://twitter.com/turicas >> >> http://CursoDeArduino.com.br/ http://github.com/turicas >> >> +55 21 9 9898-0141 >> >> >> >> >> >> 2017-02-13 14:02 GMT-02:00 Luis Miguel Morillas : >> >> > Hola, >> >> > >> >> > Estoy buscando algo para gestionar el registro a unas jornadas que >> >> > queremos hacer, sobre todo la inscripción en talleres (5 talleres >> >> > simultáneos durante un par de días) No necesito pasarela de pago >> >> > porque el evento es gratuito. >> >> > >> >> > He visto alguna app para django. Alguna recomendación? >> >> > >> >> > >> >> > Saludos, >> >> > >> >> > -- luismiguel (@lmorillas) >> >> > _______________________________________________ >> >> > Python-es mailing list >> >> > Python-es en python.org >> >> > https://mail.python.org/mailman/listinfo/python-es >> >> _______________________________________________ >> >> Python-es mailing list >> >> Python-es en python.org >> >> https://mail.python.org/mailman/listinfo/python-es >> > >> > >> > >> > _______________________________________________ >> > Python-es mailing list >> > Python-es en python.org >> > https://mail.python.org/mailman/listinfo/python-es >> > >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> > > > > -- > Juan Luis Cano > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From informatica en actiu.net Wed Feb 22 04:06:44 2017 From: informatica en actiu.net (Narcis Garcia) Date: Wed, 22 Feb 2017 10:06:44 +0100 Subject: [Python-es] Todos los datos de una ejecucion Message-ID: <23553a23-2f51-c3ff-f4bc-4558f6456d1b@actiu.net> Hola, Estoy buscando la manera de ejecutar en Python2 un comando externo y, tanto obtener el resultado de error (exit code), como la salida de texto (stdout) Uso os.spawnlp(), y lo único que se me ocurre es mandar la salida a un fichero de texto y leer posteriormente dicho fichero, pero imagino que habrá formas más limpias de hacerlo. From informatica en actiu.net Wed Feb 22 04:42:31 2017 From: informatica en actiu.net (Narcis Garcia) Date: Wed, 22 Feb 2017 10:42:31 +0100 Subject: [Python-es] wxPython: Evento y argumentos Message-ID: <220acda1-e393-227c-ff3f-6a2519eb6b12@actiu.net> Realizo un panel con botones, los cuales se elaboran a partir de lo indicado en un fichero de texto: boton1_etiqueta=editor boton1_comando=gedit boton2_etiqueta=calculadora boton2_comando=gnome-calculator Entonces, en tiempo de carga, para un botón escribo: MiPanel.Bind(wx.EVT_BUTTON, self.Ejecutar, MiPanel.Controles[1]) Para lo cual: def Ejecutar(LaClase, ElEvento): ... Lo que se me ha ocurrido es que los argumentos (como «comando») los podría asignar de alguna manera a algún metadato del botón. Mi pregunta es: ¿Es posible asociar metadatos de usuario a un objeto wx? Ejemplo para la carga: MiPanel.Controles[1].Comando Para usar en la función: ElEvento.GetEventObject().Comando Gracias. From mario en osorio.solutions Wed Feb 22 10:14:17 2017 From: mario en osorio.solutions (Mario R. Osorio) Date: Wed, 22 Feb 2017 10:14:17 -0500 Subject: [Python-es] Todos los datos de una ejecucion In-Reply-To: <23553a23-2f51-c3ff-f4bc-4558f6456d1b@actiu.net> References: <23553a23-2f51-c3ff-f4bc-4558f6456d1b@actiu.net> Message-ID: Si estas usando linux, asegurate de investigar sobre piping and redirection; ellos son tus amigos. Aunque no vivo en el mundo de Mac, estoy seguro que debe tener las mismas facilidades de linux. Windows tambien tiene ciertas y algo limitadas capacidades para piping y redirecionamiento. Dtb/Gby ======= Mario R. Osorio A.S. of Computer Programming and Analysis Web page: *http;//mario.osorio.solutions * Email: *mario en osorio.solutions * *Just Choose Python!* SQL programmers don't die, they just ROLLBACK the TRANSACTION. ? ¿? ?If I had asked people what they wanted, they would have said faster horses.? ? Henry Ford 2017-02-22 4:06 GMT-05:00 Narcis Garcia : > Hola, > > Estoy buscando la manera de ejecutar en Python2 un comando externo y, > tanto obtener el resultado de error (exit code), como la salida de texto > (stdout) > > Uso os.spawnlp(), y lo único que se me ocurre es mandar la salida a un > fichero de texto y leer posteriormente dicho fichero, pero imagino que > habrá formas más limpias de hacerlo. > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jcaballero.hep en gmail.com Wed Feb 22 10:17:23 2017 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Wed, 22 Feb 2017 10:17:23 -0500 Subject: [Python-es] Todos los datos de una ejecucion In-Reply-To: <23553a23-2f51-c3ff-f4bc-4558f6456d1b@actiu.net> References: <23553a23-2f51-c3ff-f4bc-4558f6456d1b@actiu.net> Message-ID: > Estoy buscando la manera de ejecutar en Python2 un comando externo y, > tanto obtener el resultado de error (exit code), como la salida de texto > (stdout) > para tests rapidos ("quick and dirty") suelo usar commands.getstatusoutput() Para los proyectos de verdad, subprocess.Popen() Con eso ya tienes para leer un buen rato. Jose From hiramhzr en gmail.com Wed Feb 22 10:19:52 2017 From: hiramhzr en gmail.com (Hiram) Date: Wed, 22 Feb 2017 15:19:52 +0000 Subject: [Python-es] Todos los datos de una ejecucion In-Reply-To: References: <23553a23-2f51-c3ff-f4bc-4558f6456d1b@actiu.net> Message-ID: Hola, Yo utilizo algo similar a esto: return_code = subprocess.call(comando, shell=True) print return_code Saludos. El mié., 22 de feb. de 2017 a la(s) 09:17, Jose Caballero < jcaballero.hep en gmail.com> escribió: > > Estoy buscando la manera de ejecutar en Python2 un comando externo y, > > tanto obtener el resultado de error (exit code), como la salida de texto > > (stdout) > > > > para tests rapidos ("quick and dirty") suelo usar > commands.getstatusoutput() > Para los proyectos de verdad, subprocess.Popen() > > Con eso ya tienes para leer un buen rato. > > Jose > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > -- Hiram Zuñiga ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jjgomera en gmail.com Wed Feb 22 10:24:39 2017 From: jjgomera en gmail.com (=?UTF-8?B?SnVhbiBKb3PDqSBHw7NtZXogUm9tZXJh?=) Date: Wed, 22 Feb 2017 16:24:39 +0100 Subject: [Python-es] Todos los datos de una ejecucion In-Reply-To: References: <23553a23-2f51-c3ff-f4bc-4558f6456d1b@actiu.net> Message-ID: Yo tiraría de subprocess.Popen: https://docs.python.org/2/library/subprocess.html#subprocess.Popen El 22 de febrero de 2017, 16:14, Mario R. Osorio escribió: > Si estas usando linux, asegurate de investigar sobre piping and > redirection; ellos son tus amigos. > Aunque no vivo en el mundo de Mac, estoy seguro que debe tener las mismas > facilidades de linux. > Windows tambien tiene ciertas y algo limitadas capacidades para piping y > redirecionamiento. > > > > Dtb/Gby > ======= > Mario R. Osorio > A.S. of Computer Programming and Analysis > Web page: *http;//mario.osorio.solutions > * > Email: *mario en osorio.solutions * > > *Just Choose Python!* > > SQL programmers don't die, they just ROLLBACK the TRANSACTION. > ? ¿? > > ?If I had asked people what they wanted, they would have said faster > horses.? > ? Henry Ford > > > > > > > > 2017-02-22 4:06 GMT-05:00 Narcis Garcia : > >> Hola, >> >> Estoy buscando la manera de ejecutar en Python2 un comando externo y, >> tanto obtener el resultado de error (exit code), como la salida de texto >> (stdout) >> >> Uso os.spawnlp(), y lo único que se me ocurre es mandar la salida a un >> fichero de texto y leer posteriormente dicho fichero, pero imagino que >> habrá formas más limpias de hacerlo. >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From gvm2121 en gmail.com Fri Feb 24 10:25:31 2017 From: gvm2121 en gmail.com (Gonzalo V) Date: Fri, 24 Feb 2017 12:25:31 -0300 Subject: [Python-es] capturar error Message-ID: Amigos, una consulta cortita tengo un error que es así: > Traceback (most recent call last): > File > "C:\Users\note\AppData\Local\Programs\Python\Python35-32\alumnos.py", line > 16, in > vot=par.find_next().get_text() > AttributeError: 'NoneType' object has no attribute 'find_next' try: par=soup.find(string=re.compile(alumno)) vot=par.find_next().get_text() titulo=soup.find('titulo').get_text() except AttributeError as e: if e.args=='NoneType': print('adasd') sé capturar el AttributeError pero no sé como capturar solo el NoneType para que haga algo si eso ocurre. si no está el alumno, levanta Nonetype, pero no sé como capturarlo¿cómo se hace? Saludos, Gonzalo ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jcaballero.hep en gmail.com Fri Feb 24 10:33:30 2017 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Fri, 24 Feb 2017 10:33:30 -0500 Subject: [Python-es] capturar error In-Reply-To: References: Message-ID: if no par: blah blah blah else: blah blah blah Un busqueda en google "python detect nonetype" te puede dar mas ideas. Jose P.S. perdon por la ausencia de tildes. 2017-02-24 10:25 GMT-05:00 Gonzalo V : > Amigos, una consulta cortita > >> tengo un error que es así: >> Traceback (most recent call last): >> File >> "C:\Users\note\AppData\Local\Programs\Python\Python35-32\alumnos.py", line >> 16, in >> vot=par.find_next().get_text() >> AttributeError: 'NoneType' object has no attribute 'find_next' > > > > try: > par=soup.find(string=re.compile(alumno)) > vot=par.find_next().get_text() > titulo=soup.find('titulo').get_text() > > except AttributeError as e: > if e.args=='NoneType': > print('adasd') > sé capturar el AttributeError pero no sé como capturar solo el NoneType para > que haga algo si eso ocurre. > si no está el alumno, levanta Nonetype, pero no sé como capturarlo¿cómo se > hace? > > > > Saludos, > Gonzalo > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > From pych3m4 en gmail.com Mon Feb 27 18:22:54 2017 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 27 Feb 2017 23:22:54 +0000 Subject: [Python-es] capturar error In-Reply-To: References: Message-ID: El vie., 24 feb. 2017 a las 16:26, Gonzalo V () escribió: > Amigos, una consulta cortita > > tengo un error que es así: > Traceback (most recent call last): > File > "C:\Users\note\AppData\Local\Programs\Python\Python35-32\alumnos.py", line > 16, in > vot=par.find_next().get_text() > AttributeError: 'NoneType' object has no attribute 'find_next' > > > > try: > par=soup.find(string=re.compile(alumno)) > vot=par.find_next().get_text() > titulo=soup.find('titulo').get_text() > > except AttributeError as e: > if e.args=='NoneType': > print('adasd') > sé capturar el AttributeError pero no sé como capturar solo el NoneType > para que haga algo si eso ocurre. > si no está el alumno, levanta Nonetype, pero no sé como capturarlo¿cómo se > hace? > > Las excepciones no almacenan ninguna información sobre las circunsancias que las han originado. Aún es más, los mensajes que usan no son parte de la API de python, por lo que ni siquiera es seguro que no cambien en una futura versión de python. Ahora te dice que el objeto que da error es de tipo NoneType, pero no tendría obligación de decirte nada. Las excepciones son poco más que objetos con los identificar de qué situaciones de error puedes recuperar la ejecución, y dejar el resto que sigan su curso. Si has identificado el tipo de error (AttributeError) lo que toca ahora es saber si ha sido algunos de los objetos que vigilas. Aunque no sea nada elegante, no queda más remedio que comprobar que cada búsqueda efectivamente devuelve algún resultado antes de trabajar con ella, lo que impide el encadenamiento normal de operaciones como quieres hacer (algo que en lenguajes funcionales se resuelve muy bien con monads). La mejor manera de "encadenar" operaciones que puedan fallar es usando expresiones if..else: par = soup.find(string=re.compile(alumno)) vot = par.find_next() if par else None text = vot.get_text() if vot else None if text is None: print("No hay resultados") > > Saludos, > Gonzalo > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://blog.ch3m4.org ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From gvm2121 en gmail.com Mon Feb 27 19:35:45 2017 From: gvm2121 en gmail.com (Gonzalo V) Date: Mon, 27 Feb 2017 21:35:45 -0300 Subject: [Python-es] capturar error In-Reply-To: References: Message-ID: gracias!! El 27 feb. 2017 20:23, "Chema Cortes" escribió: > El vie., 24 feb. 2017 a las 16:26, Gonzalo V () > escribió: > >> Amigos, una consulta cortita >> >> tengo un error que es así: >> Traceback (most recent call last): >> File "C:\Users\note\AppData\Local\Programs\Python\Python35-32\alumnos.py", >> line 16, in >> vot=par.find_next().get_text() >> AttributeError: 'NoneType' object has no attribute 'find_next' >> >> >> >> try: >> par=soup.find(string=re.compile(alumno)) >> vot=par.find_next().get_text() >> titulo=soup.find('titulo').get_text() >> >> except AttributeError as e: >> if e.args=='NoneType': >> print('adasd') >> sé capturar el AttributeError pero no sé como capturar solo el NoneType >> para que haga algo si eso ocurre. >> si no está el alumno, levanta Nonetype, pero no sé como capturarlo¿cómo >> se hace? >> >> > Las excepciones no almacenan ninguna información sobre las circunsancias > que las han originado. Aún es más, los mensajes que usan no son parte de la > API de python, por lo que ni siquiera es seguro que no cambien en una > futura versión de python. Ahora te dice que el objeto que da error es de > tipo NoneType, pero no tendría obligación de decirte nada. > > Las excepciones son poco más que objetos con los identificar de qué > situaciones de error puedes recuperar la ejecución, y dejar el resto que > sigan su curso. Si has identificado el tipo de error (AttributeError) lo > que toca ahora es saber si ha sido algunos de los objetos que vigilas. > > Aunque no sea nada elegante, no queda más remedio que comprobar que cada > búsqueda efectivamente devuelve algún resultado antes de trabajar con ella, > lo que impide el encadenamiento normal de operaciones como quieres hacer > (algo que en lenguajes funcionales se resuelve muy bien con monads). La > mejor manera de "encadenar" operaciones que puedan fallar es usando > expresiones if..else: > > par = soup.find(string=re.compile(alumno)) > vot = par.find_next() if par else None > text = vot.get_text() if vot else None > if text is None: > print("No hay resultados") > > > > >> >> Saludos, >> Gonzalo >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> https://mail.python.org/mailman/listinfo/python-es >> > -- > Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": > http://blog.ch3m4.org > > _______________________________________________ > Python-es mailing list > Python-es en python.org > https://mail.python.org/mailman/listinfo/python-es > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From tapia en openshine.com Tue Feb 28 05:12:38 2017 From: tapia en openshine.com (=?UTF-8?B?Q8Opc2FyIEdhcmPDrWEgVGFwaWE=?=) Date: Tue, 28 Feb 2017 11:12:38 +0100 Subject: [Python-es] [JOB] Oferta de trabajo en Madrid - OpenShine Message-ID: OpenShine es una pequeña empresa de desarrollo de software, especializada en Web, Móvil y DevOps. Estamos construyendo un equipo técnico sin jerarquías, en el que las decisiones se toman entre todos, y con una transparencia absoluta en lo relativo a la gestión de la empresa. Nuestro propósito es crecer de manera sostenible, creando productos de alta calidad y divirtiéndonos por el camino. *¿Qué buscamos?* - Desarrolladores. Hackers. Llámalo como quieras, ya sabes a qué nos referimos. Idealmente con más de 3 o 4 años de experiencia. - Que tengas pasión por tu profesión. Si aprendes nuevos lenguajes, frameworks y tecnologías por simple curiosidad, OpenShine es tu sitio. - Especial atención a la calidad, el detalle y las buenas prácticas. - Experiencia e interés tanto en el backend como en el frontend (aunque suelas trabajar sólo en uno de los lados, queremos que tengas una visión completa de los proyectos). - Implicación y actitud participativa. No queremos asignarte tareas, sino definirlas entre todos. Actualmente trabajamos con las siguientes tecnologías, entre otras muchas. Esto no es una lista de requisitos, es únicamente para darte una idea del tipo de proyectos que hacemos: - Python - Django - Angular2 - Spark - Kafka - Cassandra - ElasticSearch - Android / Xamarin - Docker / Kubernetes - Salt / Ansible *¿Qué ofrecemos?* - Ambiente de trabajo informal y estimulante. - Si te gusta teletrabajar, podrás hacerlo la mayor parte del tiempo. La oficina está para cuando hace falta. - Oficina en el centro de Madrid, en la misma glorieta de San Bernardo. - Participar en la creación de una cultura empresarial diferente. - Facilidad para la formación: charlas en la oficina, asistencia a eventos, etc. - Libertad para elegir las tecnologías de tus proyectos. - Salario entre 30.000? y 35.000? Si te interesa, mándanos tu CV a info en openshine.com y nos pondremos en contacto contigo. *César García Tapia* Director técnico Tlf: +34 663 273 481 <+34+663+273+481> Skype: cesargarciatapia <#UNIQUE_ID_SafeHtmlFilter_> Web: https://www.openshine.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: