From ukeitaro en yahoo.es Sun Dec 2 13:11:14 2012 From: ukeitaro en yahoo.es (Javier Gutierrez) Date: Sun, 2 Dec 2012 12:11:14 +0000 (GMT) Subject: [Python-es] Resumen y enlaces de la primera Python-Sevilla el 30/11/2012 Message-ID: <1354450274.97459.YahooMailNeo@web133105.mail.ir2.yahoo.com>   El pasado viernes 30 de noviembre tuvimos la primera reunión el grupo Python-Sevilla en la Escuela Técnica Superior de Ingeniería Informática en Sevilla. Aunque éramos pocos (veintitantos en el momento de máxima audiencia) tenemos muchas ganas e ilusión por sacar adelante este grupo y crear una comunidad dinámica y activa. A continuación os pongo un montón de enlaces para que estéis al tanto de todo lo que pasó. Grupo Python-Sevilla. [Grupo Python-Sevilla en LinkedLin] http://www.linkedin.com/groups/PythonSevilla-4685758 [Grupo Python-Sevilla en Google Groups] https://groups.google.com/forum/?fromgroups#!forum/python-sevilla [Twitter] @python_sevilla / #pysvq Dos entradas de blog previas a la charla de TDD y Python. [Mocks y Python] http://iwt2-javierj.tumblr.com/post/36695988608/mocks-en-python-previa-python-tdd [ATDD / BDD con Behave en Python] http://iwt2-javierj.tumblr.com/post/36762766836/atdd-bdd-con-python-y-behave-previa-python-tdd Transparencias y materiales de la charla TDD y Python y de la kata Tenis [Presentación Introducción a TDD y Python] http://www.slideshare.net/Javier_J/tdd-y-python [Kata Tenis en Python paso a paso] http://www.slideshare.net/Javier_J/kata-tennis-paso-a-paso [Código en GitHub de la kata y de las entradas del blog] https://github.com/javierj/Python-TDD Restrospectiva y autocrítica de la charla TDD y Python [Con fotos del evento] http://iwt2-javierj.tumblr.com/post/37025295658/retrospectiva-y-autocritica-de-la-charla-ptdd-y-python   En cuanto tenga conocimiento de que el video está en Internet o de más material os lo comunico. Por supuesto también hicimos difusión de esta lista ;) Os mantenemos informados de la siguiente. Saludos. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From davidmenhur en gmail.com Sun Dec 2 13:36:10 2012 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Sun, 2 Dec 2012 13:36:10 +0100 Subject: [Python-es] Resumen y enlaces de la primera Python-Sevilla el 30/11/2012 In-Reply-To: <1354450274.97459.YahooMailNeo@web133105.mail.ir2.yahoo.com> References: <1354450274.97459.YahooMailNeo@web133105.mail.ir2.yahoo.com> Message-ID: 2012/12/2 Javier Gutierrez : > Aunque éramos pocos (veintitantos en el momento de máxima audiencia) Eso no son pocos, ni mucho menos. En Madrid, en la primera reunión éramos cinco o seis, y no sé si hemos llegado a los cuarenta en algún momento. ¡Ánimo con ello! From kikocorreoso en gmail.com Sun Dec 2 13:44:36 2012 From: kikocorreoso en gmail.com (Kiko) Date: Sun, 2 Dec 2012 13:44:36 +0100 Subject: [Python-es] Resumen y enlaces de la primera Python-Sevilla el 30/11/2012 In-Reply-To: References: <1354450274.97459.YahooMailNeo@web133105.mail.ir2.yahoo.com> Message-ID: El 2 de diciembre de 2012 13:36, Da?id escribió: > 2012/12/2 Javier Gutierrez : > > Aunque éramos pocos (veintitantos en el momento de máxima audiencia) > > Eso no son pocos, ni mucho menos. En Madrid, en la primera reunión > éramos cinco o seis, y no sé si hemos llegado a los cuarenta en algún > momento. > > ¡Ánimo con ello! > ¿Empezar con ventitantos es poco? Me parece que está muy bien. Espero que siga creciendo la audiencia. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From juanlu001 en gmail.com Mon Dec 3 01:12:28 2012 From: juanlu001 en gmail.com (=?ISO-8859-1?Q?Juan_Luis_Cano_Rodr=EDguez?=) Date: Mon, 3 Dec 2012 01:12:28 +0100 Subject: [Python-es] Resumen y enlaces de la primera Python-Sevilla el 30/11/2012 In-Reply-To: References: <1354450274.97459.YahooMailNeo@web133105.mail.ir2.yahoo.com> Message-ID: Yo estoy con Dapid y Kiko, 24 veintitantos me parece un número más que respetable :P ¡Muchas gracias por colgar todo este material! Le he echado un ojo a tu presentación y está muy bien. Que siga así, ¡un saludo! 2012/12/2 Kiko > > > El 2 de diciembre de 2012 13:36, Da?id escribió: > > 2012/12/2 Javier Gutierrez : >> > Aunque éramos pocos (veintitantos en el momento de máxima audiencia) >> >> Eso no son pocos, ni mucho menos. En Madrid, en la primera reunión >> éramos cinco o seis, y no sé si hemos llegado a los cuarenta en algún >> momento. >> >> ¡Ánimo con ello! >> > > ¿Empezar con ventitantos es poco? Me parece que está muy bien. Espero que > siga creciendo la audiencia. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pdlopez en sc.uci.cu Mon Dec 3 22:22:06 2012 From: pdlopez en sc.uci.cu (Pavel Daniel Lopez Castillo) Date: Mon, 3 Dec 2012 16:22:06 -0500 (CST) Subject: [Python-es] pyqt4+problema al cerrar una ventana Message-ID: <1366436867.15047.1354569726068.JavaMail.root@sc.uci.cu> Tengo una aplicación hecha con pyqt4.2 en la cual tengo un menú con varias funcionalidades, el problema es que cuando cierro la ventana que se abre al dar click en una de ella me sale un cartel con el siguiente error: La instruccion en "0x00000000" hace referencia a la memoria en "0x00000000". La memoria no se puede "read". Hagla clic en Aceptar para finalizar este programa Hagla clic en CANCELAR para finalizar este programa Que puede ser la causa de esto, si la funcionalidad me funciona bien From juanlu001 en gmail.com Mon Dec 3 22:25:42 2012 From: juanlu001 en gmail.com (=?ISO-8859-1?Q?Juan_Luis_Cano_Rodr=EDguez?=) Date: Mon, 3 Dec 2012 22:25:42 +0100 Subject: [Python-es] [PyConES] Lista de tareas para la PyConES In-Reply-To: <422b1148-f9c5-4b99-8776-1d272797ec99@googlegroups.com> References: <422b1148-f9c5-4b99-8776-1d272797ec99@googlegroups.com> Message-ID: Hola Fran, la cuenta de Twitter la creó Jesús Cea y dijo que prefería que hubiese el menor ruido posible. Es decir, que cuando hubiese anuncios o noticias importantes se ponen, pero nada más; menos de un tweet al día. Pronto tendremos logo y página web y se anunciará convenientemente. Del ruido ya nos encargamos Alberto Chamorro, yo y quien se quiera apuntar en el hashtag #PyConES :P 2012/12/3 Fran Lucena > Hola, > > una duda que me asalta, referente a las redes sociales. La cuenta de > twitter https://twitter.com/pycon_es/ esta paralizada... ¿se sabe quien > la creo? ¿se utilizará esta cuenta? > > Hoy estaba limpiando mi lista de followers y la he visto ahí a la pobre to > abandoná... > > Saludos ! > > El martes, 27 de noviembre de 2012 12:27:31 UTC+1, Juan Luis Cano escribió: > >> Hola a todos, esta es la aplicación tipo lista que montó Jesús Espino al >> principio del verano y que mencioné en el Hangout ayer: >> >> https://trello.com/board/**pycon-es/**5010e9cc9a7c836f14384abb >> >> ¿La podríamos reutilizar? ¿Qué os parece? Creo que es Jesús el que tiene >> que ir dando permisos, pero no estoy seguro. >> >> Un saludo, >> >> Juan Luis Cano >> > -- > > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jeancarlosr_ve en yahoo.com Tue Dec 4 02:12:32 2012 From: jeancarlosr_ve en yahoo.com (=?iso-8859-1?Q?Jean_Carlos_Rodr=ECguez?=) Date: Mon, 3 Dec 2012 17:12:32 -0800 (PST) Subject: [Python-es] pyqt4+problema al cerrar una ventana In-Reply-To: <1366436867.15047.1354569726068.JavaMail.root@sc.uci.cu> References: <1366436867.15047.1354569726068.JavaMail.root@sc.uci.cu> Message-ID: <1354583552.14189.YahooMailNeo@web124906.mail.ne1.yahoo.com> def closeEvent(self, event):                  reply = QtGui.QMessageBox.question(self, 'SALIR',             _fromUtf8("¿Seguro deseas Salir?"), QtGui.QMessageBox.Yes |              QtGui.QMessageBox.No, QtGui.QMessageBox.No)         if reply == QtGui.QMessageBox.Yes:             event.accept() #            sys.exit(1)         else:             event.ignore() ________________________________ De: Pavel Daniel Lopez Castillo Para: python-es en python.org Enviado: Lunes, 3 de diciembre, 2012 4:52 P.M. Asunto: [Python-es] pyqt4+problema al cerrar una ventana Tengo una aplicación hecha con pyqt4.2 en la cual tengo un menú con varias funcionalidades, el problema es que cuando cierro la ventana que se abre al dar click en una de ella me sale un cartel con el siguiente error: La instruccion en "0x00000000" hace referencia a la memoria en "0x00000000". La memoria no se puede "read". Hagla clic en Aceptar para finalizar este programa Hagla clic en CANCELAR para finalizar este programa Que puede ser la causa de esto, si la funcionalidad me funciona bien _______________________________________________ Python-es mailing list Python-es en python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pdlopez en sc.uci.cu Tue Dec 4 13:54:58 2012 From: pdlopez en sc.uci.cu (Pavel Daniel Lopez Castillo) Date: Tue, 4 Dec 2012 07:54:58 -0500 (CST) Subject: [Python-es] pyqt4+problema al cerrar una ventana In-Reply-To: <1354583552.14189.YahooMailNeo@web124906.mail.ne1.yahoo.com> Message-ID: <1635758207.17252.1354625697965.JavaMail.root@sc.uci.cu> Jean Carlos ahi te pongo el formulario y el dialogo El problema es cuando le doy a la x que esta en la ventana, pero igual probe poniendo un boton y lo conecte a una funcion cerrar y me da el mismo problema. Con las otras ventanas que tengo no habia tenido ese problema y no necesite utilizar ningun codigo, pienso que el problema sea otra cosa y no de utilizar el codigo que me pones, pero bueno en ese caso donde y como lo uso. self.connect(self.ui.pushButton, QtCore.SIGNAL("clicked()"),self.cerrar) def cerrar(self): self.close() *******************************Formulario********************************************************************************************************* # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'C:\bola\src\forms.ui\antes despues.ui' # # Created: Mon Dec 03 01:06:24 2012 # by: PyQt4 UI code generator 4.2 # # WARNING! All changes made in this file will be lost! from PyQt4 import QtCore, QtGui class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(QtCore.QSize(QtCore.QRect(0,0,500,424).size()).expandedTo(Form.minimumSizeHint())) Form.setMinimumSize(QtCore.QSize(500,424)) Form.setMaximumSize(QtCore.QSize(500,424)) self.gridlayout = QtGui.QGridLayout(Form) self.gridlayout.setMargin(9) self.gridlayout.setSpacing(6) self.gridlayout.setObjectName("gridlayout") self.tabWidget = QtGui.QTabWidget(Form) self.tabWidget.setObjectName("tabWidget") self.tab_3 = QtGui.QWidget() self.tab_3.setObjectName("tab_3") self.tableWidget = QtGui.QTableWidget(self.tab_3) self.tableWidget.setGeometry(QtCore.QRect(7,10,461,311)) self.tableWidget.setObjectName("tableWidget") self.tabWidget.addTab(self.tab_3,"") self.tab_4 = QtGui.QWidget() self.tab_4.setObjectName("tab_4") self.tableWidget_2 = QtGui.QTableWidget(self.tab_4) self.tableWidget_2.setGeometry(QtCore.QRect(7,10,461,311)) self.tableWidget_2.setObjectName("tableWidget_2") self.tabWidget.addTab(self.tab_4,"") self.gridlayout.addWidget(self.tabWidget,2,0,1,2) self.label = QtGui.QLabel(Form) self.label.setObjectName("label") self.gridlayout.addWidget(self.label,0,0,1,2) self.lineEdit = QtGui.QLineEdit(Form) self.lineEdit.setMaxLength(3) self.lineEdit.setObjectName("lineEdit") self.gridlayout.addWidget(self.lineEdit,1,0,1,1) self.pushButton = QtGui.QPushButton(Form) self.pushButton.setObjectName("pushButton") self.gridlayout.addWidget(self.pushButton,1,1,1,1) self.retranslateUi(Form) self.tabWidget.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): Form.setWindowTitle(QtGui.QApplication.translate("Form", "7 antes-despues", None, QtGui.QApplication.UnicodeUTF8)) self.tableWidget.clear() self.tableWidget.setColumnCount(0) self.tableWidget.setRowCount(0) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), QtGui.QApplication.translate("Form", "Antes", None, QtGui.QApplication.UnicodeUTF8)) self.tableWidget_2.clear() self.tableWidget_2.setColumnCount(0) self.tableWidget_2.setRowCount(0) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), QtGui.QApplication.translate("Form", "Despues", None, QtGui.QApplication.UnicodeUTF8)) self.label.setText(QtGui.QApplication.translate("Form", "Centena", None, QtGui.QApplication.UnicodeUTF8)) self.pushButton.setText(QtGui.QApplication.translate("Form", "Buscar", None, QtGui.QApplication.UnicodeUTF8)) if __name__ == "__main__": import sys app = QtGui.QApplication(sys.argv) Form = QtGui.QWidget() ui = Ui_Form() ui.setupUi(Form) Form.show() sys.exit(app.exec_()) ************************************************************************************************************************************************** *******************************Dialogo************************************************************************************************************ import sys from PyQt4 import QtCore, QtGui from forms.antesDespues import Ui_Form from aplication.conexion2 import Conexion2 from datetime import date, timedelta class AntesDespues(QtGui.QDialog): def __init__(self): QtGui.QDialog.__init__(self) #Inicializar el formulario self.ui = Ui_Form() self.ui.setupUi(self) self.conn2 = Conexion2() self.connect(self.ui.pushButton, QtCore.SIGNAL("clicked()"),self.AntesDespues) def AntesDespues(self): try: numero = int(self.ui.lineEdit.text()) except: QtGui.QMessageBox(" ","solo numeros",QtGui.QMessageBox.Information,1,0,0).exec_() return sql = "SELECT fecha, dia_noche FROM centenas WHERE centena='%d'" %(numero) query2 = self.conn2.cursor.execute(sql) datos = self.conn2.cursor.fetchall() filas=1 #Cambio la cantidad de columnas de los TableWidget self.ui.tableWidget.setColumnCount(9) self.ui.tableWidget_2.setColumnCount(9) self.ui.tableWidget.setHorizontalHeaderItem(7, QtGui.QTableWidgetItem("Fecha")) self.ui.tableWidget.setHorizontalHeaderItem(8, QtGui.QTableWidgetItem("Horario")) self.ui.tableWidget_2.setHorizontalHeaderItem(7, QtGui.QTableWidgetItem("Fecha")) self.ui.tableWidget_2.setHorizontalHeaderItem(8, QtGui.QTableWidgetItem("Horario")) for row in datos: #Cambio la cantidad de filas de los TableWidget self.ui.tableWidget.setRowCount(filas) self.ui.tableWidget_2.setRowCount(filas) #Convierto a lista el string de la fecha fecha_list = str(row[0]).split('-') #Convierto a objetos date cada una de las lista con los datos de las fechas fecha_obj = date(int(fecha_list[0]), int(fecha_list[1]), int(fecha_list[2])) #Guardo en f el numero de la fila f=filas-1 #Codigo para obtener las 5 centenas anteriores y siguientes y mostrarlas en los TableWidget fecha1 = str(fecha_obj - timedelta(days=1)) fecha2 = str(fecha_obj - timedelta(days=2)) fecha3 = str(fecha_obj - timedelta(days=3)) fecha4 = str(fecha_obj - timedelta(days=4)) fecha5 = str(fecha_obj - timedelta(days=5)) fecha6 = str(fecha_obj - timedelta(days=6)) fecha7 = str(fecha_obj - timedelta(days=7)) fecha8 = str(fecha_obj + timedelta(days=1)) fecha9 = str(fecha_obj + timedelta(days=2)) fecha10 = str(fecha_obj + timedelta(days=3)) fecha11 = str(fecha_obj + timedelta(days=4)) fecha12 = str(fecha_obj + timedelta(days=5)) fecha13 = str(fecha_obj + timedelta(days=6)) fecha14 = str(fecha_obj + timedelta(days=7)) lista_fechas1 = [fecha1, fecha2, fecha3, fecha4, fecha5, fecha6, fecha7] lista_fechas2 = [fecha8, fecha9, fecha10, fecha11, fecha12, fecha13, fecha14] for i in xrange(7): sql = "SELECT centena FROM centenas WHERE fecha='%s' AND dia_noche='%s'" %(lista_fechas1[i],row[1]) query2 = self.conn2.cursor.execute(sql) centena = self.conn2.cursor.fetchall() newitem1 = QtGui.QTableWidgetItem(str(centena[0][0])) self.ui.tableWidget.setItem(f, i, newitem1) sql = "SELECT centena FROM centenas WHERE fecha='%s' AND dia_noche='%s'" %(lista_fechas2[i],row[1]) query2 = self.conn2.cursor.execute(sql) centena = self.conn2.cursor.fetchall() newitem = QtGui.QTableWidgetItem(str(centena[0][0])) self.ui.tableWidget_2.setItem(f, i, newitem) self.ui.tableWidget.setColumnWidth(i,40) self.ui.tableWidget_2.setColumnWidth(i,40) #Creo los elementos para insertar en los TableWidget newitem1 = QtGui.QTableWidgetItem(row[0]) newitem2 = QtGui.QTableWidgetItem(row[1]) #Pongo los elementos en el TableWidget self.ui.tableWidget.setItem(f, 7, newitem1) self.ui.tableWidget.setItem(f, 8, newitem2) self.ui.tableWidget_2.setItem(f, 7, newitem1) self.ui.tableWidget_2.setItem(f, 8, newitem2) self.ui.tableWidget.setColumnWidth(7,80) self.ui.tableWidget_2.setColumnWidth(7,80) self.ui.tableWidget.setColumnWidth(8,45) self.ui.tableWidget_2.setColumnWidth(8,45) #Aumento la cantidad de filas filas+=1 ----- Mensaje original ----- De: "Jean Carlos Rodrìguez" Para: "La lista de python en castellano" Enviados: Lunes, 3 de Diciembre 2012 20:12:32 Asunto: Re: [Python-es] pyqt4+problema al cerrar una ventana def closeEvent(self, event): reply = QtGui.QMessageBox.question(self, 'SALIR', _fromUtf8("¿Seguro deseas Salir?"), QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.No) if reply == QtGui.QMessageBox.Yes: event.accept() # sys.exit(1) else: event.ignore() De: Pavel Daniel Lopez Castillo Para: python-es en python.org Enviado: Lunes, 3 de diciembre, 2012 4:52 P.M. Asunto: [Python-es] pyqt4+problema al cerrar una ventana Tengo una aplicación hecha con pyqt4.2 en la cual tengo un menú con varias funcionalidades, el problema es que cuando cierro la ventana que se abre al dar click en una de ella me sale un cartel con el siguiente error: La instruccion en "0x00000000" hace referencia a la memoria en "0x00000000". La memoria no se puede "read". Hagla clic en Aceptar para finalizar este programa Hagla clic en CANCELAR para finalizar este programa Que puede ser la causa de esto, si la funcionalidad me funciona bien _______________________________________________ Python-es mailing list Python-es en python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ _______________________________________________ Python-es mailing list Python-es en python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ From plobarinas en jcea.es Thu Dec 6 02:03:17 2012 From: plobarinas en jcea.es (=?ISO-8859-1?Q?Pablo_Lobari=F1as?=) Date: Thu, 06 Dec 2012 02:03:17 +0100 Subject: [Python-es] =?iso-8859-1?q?Convocatoria_reuni=F3n_python-madrid?= Message-ID: <50BFEED5.80007@jcea.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Como todos los meses, en diciembre también tenemos reunión de python-madrid, para los interesados aquí está el enlace con los detalles. http://www.python-madrid.es/post/reunion-diciembre-2012-python-madrid/ Un saludo. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (Darwin) Comment: GPGTools - http://gpgtools.org iEYEARECAAYFAlC/7tUACgkQnPFBatEMYOe2fgCg0YmtzFq2PfWOodhjsLdCUM5D YaMAnjRJtr9Rq002bJsbR1hHo9kFt6DA =tu08 -----END PGP SIGNATURE----- From martinmaqueira en gmail.com Thu Dec 6 17:21:48 2012 From: martinmaqueira en gmail.com (Martin Maqueira) Date: Thu, 6 Dec 2012 17:21:48 +0100 Subject: [Python-es] Impresion In-Reply-To: References: Message-ID: hola, si puedes generar lo que quieras imprimir en pdf, entonces puedes imprimir en impresoras de red convirtiéndolo a pcl y transmitiéndolo por socket a la impresora. tengo un sistema funcionando de está manera para pasar de pcl a pdf utiliza módulos d ghost. si te interesa puede pasar más info. saludos Martin Maqueira El 29/11/2012 17:51, "Alfonso de la Guarda" escribió: > Hola, > > Para un proyecto que trabajé hace unos 10 años, hacía esto: > > estad = os.system("cat %s > %s" % (nom_arch, device_port)) > estad = os.system("cat corte | escpos > %s" % device_port) > > Donde estad te regresa un potencial problema de comunicación con el > dispositivo.... > > La segunda línea era para mandarle el código de corte a la impresora > ticketera > > > https://bitbucket.org/alfonsodg/sisventi/src/253b3d0d3664b948f90de228dd30b49703182448/pysis.py?at=default > > > Saludos, > > -------------------------------- > Alfonso de la Guarda > Twitter: @alfonsodg > Redes sociales: alfonsodg > Telef. 991935157 > 1024D/B23B24A4 > 5469 ED92 75A3 BBDB FD6B 58A5 54A1 851D B23B 24A4 > > > 2012/11/29 Stalin Bello : > > Buenos dias Lista > > > > Quisiera saber si existe alguna manera de imprimir directamente a la > > impresora por defecto, gracias de antemano; > > > > -- > > T.S.U. Stalin Bello > > Analista Programador de Sistemas > > Consejo de Desarrollo Científico y Humanístico > > Universidad de Carabobo > > linux-counter: 290715 > > IEEE:90310271 > > sbello en uc.edu.ve stalinb en gmail.com stalinbello en yahoo.es > > (0241) 6004000, (0241) 6005000 ext 144080 > > > > _______________________________________________ > > Python-es mailing list > > Python-es en python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From j.isaac09 en gmail.com Sat Dec 8 04:00:58 2012 From: j.isaac09 en gmail.com (JORGE ISAAC) Date: Fri, 7 Dec 2012 23:00:58 -0400 Subject: [Python-es] hola atodos Message-ID: hola amigo ,tengo un proyecto desarrollado en visul basic 6.0 el cual emula como un server de correo ,pero quisira completar las operaciones que me faltan con `ython que segun e esqucahdoes lo maximo, quisiera tener un modulo que me permita entrar al server y extraer solo los correos que ten gan en el campo to una determinada direccion: resumiendo es esto if to ="user en gsmil.com" then descargar a base de datos else no hacer nada por favor alludenme........ cahooooo From jldalla en gmail.com Sat Dec 8 14:31:55 2012 From: jldalla en gmail.com (Jose Luis Dallapiccola) Date: Sat, 8 Dec 2012 10:31:55 -0300 Subject: [Python-es] hola atodos In-Reply-To: References: Message-ID: Hola Jorge, muy buen día. 2012/12/8 JORGE ISAAC > hola amigo ,tengo un proyecto desarrollado en visul basic 6.0 el cual > emula como un server de correo ,pero quisira completar las operaciones > que me faltan con `ython que segun e esqucahdoes lo maximo, quisiera > tener un modulo que me permita entrar al server y extraer solo los > correos que ten gan en el campo to una determinada direccion: > resumiendo es esto > if to ="user en gsmil.com" then > descargar a base de datos > else > no hacer nada > He puesto solamente "python mail pop" y han aparecido miles de resultados. Al menos deberías leer en principio: http://docs.python.org/2/library/poplib.html Saludos. > por favor alludenme........ cahooooo > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- --- José Luis DALLAPICCOLA Neuquén Capital Patagonia Argentina ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From veronicacar en gmail.com Sat Dec 8 21:20:56 2012 From: veronicacar en gmail.com (veronik carmona) Date: Sat, 8 Dec 2012 17:20:56 -0300 Subject: [Python-es] Impresion In-Reply-To: References: Message-ID: La transformacion a pcl funciona a la perfeccion para imprimir pdf de manera k estos no demoren en el proceso de impresion...wenismo hace un par d dias un colega lo implemento El 06/12/2012 18:08, "Martin Maqueira" escribió: > hola, > si puedes generar lo que quieras imprimir en pdf, entonces puedes > imprimir en impresoras de red convirtiéndolo a pcl y transmitiéndolo por > socket a la impresora. > > tengo un sistema funcionando de está manera > > para pasar de pcl a pdf utiliza módulos d ghost. > > si te interesa puede pasar más info. > > saludos > > Martin Maqueira > El 29/11/2012 17:51, "Alfonso de la Guarda" > escribió: > >> Hola, >> >> Para un proyecto que trabajé hace unos 10 años, hacía esto: >> >> estad = os.system("cat %s > %s" % (nom_arch, device_port)) >> estad = os.system("cat corte | escpos > %s" % device_port) >> >> Donde estad te regresa un potencial problema de comunicación con el >> dispositivo.... >> >> La segunda línea era para mandarle el código de corte a la impresora >> ticketera >> >> >> https://bitbucket.org/alfonsodg/sisventi/src/253b3d0d3664b948f90de228dd30b49703182448/pysis.py?at=default >> >> >> Saludos, >> >> -------------------------------- >> Alfonso de la Guarda >> Twitter: @alfonsodg >> Redes sociales: alfonsodg >> Telef. 991935157 >> 1024D/B23B24A4 >> 5469 ED92 75A3 BBDB FD6B 58A5 54A1 851D B23B 24A4 >> >> >> 2012/11/29 Stalin Bello : >> > Buenos dias Lista >> > >> > Quisiera saber si existe alguna manera de imprimir directamente a la >> > impresora por defecto, gracias de antemano; >> > >> > -- >> > T.S.U. Stalin Bello >> > Analista Programador de Sistemas >> > Consejo de Desarrollo Científico y Humanístico >> > Universidad de Carabobo >> > linux-counter: 290715 >> > IEEE:90310271 >> > sbello en uc.edu.ve stalinb en gmail.com stalinbello en yahoo.es >> > (0241) 6004000, (0241) 6005000 ext 144080 >> > >> > _______________________________________________ >> > Python-es mailing list >> > Python-es en python.org >> > http://mail.python.org/mailman/listinfo/python-es >> > FAQ: http://python-es-faq.wikidot.com/ >> > >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From stalinb en gmail.com Sun Dec 9 00:06:59 2012 From: stalinb en gmail.com (Stalin Bello) Date: Sat, 8 Dec 2012 19:06:59 -0400 Subject: [Python-es] Impresion In-Reply-To: References: Message-ID: Me gustaria indagar mas sobre el tema, donde puedo leer mas. Gracias de antemano. El 08/12/2012 15:52, "veronik carmona" escribió: > La transformacion a pcl funciona a la perfeccion para imprimir pdf de > manera k estos no demoren en el proceso de impresion...wenismo hace un par > d dias un colega lo implemento > El 06/12/2012 18:08, "Martin Maqueira" > escribió: > >> hola, >> si puedes generar lo que quieras imprimir en pdf, entonces puedes >> imprimir en impresoras de red convirtiéndolo a pcl y transmitiéndolo por >> socket a la impresora. >> >> tengo un sistema funcionando de está manera >> >> para pasar de pcl a pdf utiliza módulos d ghost. >> >> si te interesa puede pasar más info. >> >> saludos >> >> Martin Maqueira >> El 29/11/2012 17:51, "Alfonso de la Guarda" >> escribió: >> >>> Hola, >>> >>> Para un proyecto que trabajé hace unos 10 años, hacía esto: >>> >>> estad = os.system("cat %s > %s" % (nom_arch, device_port)) >>> estad = os.system("cat corte | escpos > %s" % device_port) >>> >>> Donde estad te regresa un potencial problema de comunicación con el >>> dispositivo.... >>> >>> La segunda línea era para mandarle el código de corte a la impresora >>> ticketera >>> >>> >>> https://bitbucket.org/alfonsodg/sisventi/src/253b3d0d3664b948f90de228dd30b49703182448/pysis.py?at=default >>> >>> >>> Saludos, >>> >>> -------------------------------- >>> Alfonso de la Guarda >>> Twitter: @alfonsodg >>> Redes sociales: alfonsodg >>> Telef. 991935157 >>> 1024D/B23B24A4 >>> 5469 ED92 75A3 BBDB FD6B 58A5 54A1 851D B23B 24A4 >>> >>> >>> 2012/11/29 Stalin Bello : >>> > Buenos dias Lista >>> > >>> > Quisiera saber si existe alguna manera de imprimir directamente a la >>> > impresora por defecto, gracias de antemano; >>> > >>> > -- >>> > T.S.U. Stalin Bello >>> > Analista Programador de Sistemas >>> > Consejo de Desarrollo Científico y Humanístico >>> > Universidad de Carabobo >>> > linux-counter: 290715 >>> > IEEE:90310271 >>> > sbello en uc.edu.ve stalinb en gmail.com stalinbello en yahoo.es >>> > (0241) 6004000, (0241) 6005000 ext 144080 >>> > >>> > _______________________________________________ >>> > Python-es mailing list >>> > Python-es en python.org >>> > http://mail.python.org/mailman/listinfo/python-es >>> > FAQ: http://python-es-faq.wikidot.com/ >>> > >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From miguelglafuente en gmail.com Sun Dec 9 00:08:48 2012 From: miguelglafuente en gmail.com (Rock Neurotiko) Date: Sun, 9 Dec 2012 00:08:48 +0100 Subject: [Python-es] Impresion In-Reply-To: References: Message-ID: Si, claro, en Google. El 9 de diciembre de 2012 00:06, Stalin Bello escribió: > Me gustaria indagar mas sobre el tema, donde puedo leer mas. Gracias de > antemano. > El 08/12/2012 15:52, "veronik carmona" escribió: > > La transformacion a pcl funciona a la perfeccion para imprimir pdf de >> manera k estos no demoren en el proceso de impresion...wenismo hace un par >> d dias un colega lo implemento >> El 06/12/2012 18:08, "Martin Maqueira" >> escribió: >> >>> hola, >>> si puedes generar lo que quieras imprimir en pdf, entonces puedes >>> imprimir en impresoras de red convirtiéndolo a pcl y transmitiéndolo por >>> socket a la impresora. >>> >>> tengo un sistema funcionando de está manera >>> >>> para pasar de pcl a pdf utiliza módulos d ghost. >>> >>> si te interesa puede pasar más info. >>> >>> saludos >>> >>> Martin Maqueira >>> El 29/11/2012 17:51, "Alfonso de la Guarda" >>> escribió: >>> >>>> Hola, >>>> >>>> Para un proyecto que trabajé hace unos 10 años, hacía esto: >>>> >>>> estad = os.system("cat %s > %s" % (nom_arch, device_port)) >>>> estad = os.system("cat corte | escpos > %s" % device_port) >>>> >>>> Donde estad te regresa un potencial problema de comunicación con el >>>> dispositivo.... >>>> >>>> La segunda línea era para mandarle el código de corte a la impresora >>>> ticketera >>>> >>>> >>>> https://bitbucket.org/alfonsodg/sisventi/src/253b3d0d3664b948f90de228dd30b49703182448/pysis.py?at=default >>>> >>>> >>>> Saludos, >>>> >>>> -------------------------------- >>>> Alfonso de la Guarda >>>> Twitter: @alfonsodg >>>> Redes sociales: alfonsodg >>>> Telef. 991935157 >>>> 1024D/B23B24A4 >>>> 5469 ED92 75A3 BBDB FD6B 58A5 54A1 851D B23B 24A4 >>>> >>>> >>>> 2012/11/29 Stalin Bello : >>>> > Buenos dias Lista >>>> > >>>> > Quisiera saber si existe alguna manera de imprimir directamente a la >>>> > impresora por defecto, gracias de antemano; >>>> > >>>> > -- >>>> > T.S.U. Stalin Bello >>>> > Analista Programador de Sistemas >>>> > Consejo de Desarrollo Científico y Humanístico >>>> > Universidad de Carabobo >>>> > linux-counter: 290715 >>>> > IEEE:90310271 >>>> > sbello en uc.edu.ve stalinb en gmail.com stalinbello en yahoo.es >>>> > (0241) 6004000, (0241) 6005000 ext 144080 >>>> > >>>> > _______________________________________________ >>>> > Python-es mailing list >>>> > Python-es en python.org >>>> > http://mail.python.org/mailman/listinfo/python-es >>>> > FAQ: http://python-es-faq.wikidot.com/ >>>> > >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> http://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Miguel García Lafuente - Rock Neurotiko The quieter you become, the more you are able to hear. "Libertad en lugar de miedo." - "Información libre, sociedad libre." El contenido de este e-mail es privado, no se permite la revelacion del contenido de este e-mail a gente ajena a él. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From soft.sirius en gmail.com Sun Dec 9 22:03:55 2012 From: soft.sirius en gmail.com (Juan M. Puertas) Date: Sun, 9 Dec 2012 22:03:55 +0100 Subject: [Python-es] =?iso-8859-1?q?AJAX_muy_f=E1cil?= Message-ID: Hola amigos, hoy os envío un código para realizar AJAX de una manera muy fácil. Hace tiempo que vengo buscando lo siguiente: Enviar desde un archivo independiente HTML uno o más parámetros en Javascript hacia una función en un CGI Python, esta función procesa los parámetros recibidos y los devuelve a la función en javascript. La ventaja que tiene esto es que puedes programar javascript aparte del código en Python, y que el programa en Python, al ser un CGI no tiene que iniciarse como un demonio cada vez que el computador servidor tenga un problema. Este ejemplo lo he encontrado en Internet, pero lo he modificado para que haga lo que quiero: * CLIENTE.HTML:*

Multiplica x 2

Mostrar resultado ____________________________________________________________________________________________ El programa simplemente devuelve el doble del número recibido. NOTA: He puesto "Mostrar el resultado" para comprobar que realmente se ha recibido un valor de vuelta, cosa casi evidente. :-) ____________________________________________________________________________________________ *SERVIDOR PYTHON CGI:* #!/usr/bin/env python #-*- coding: iso-8859-1 -*-# import cgitb; cgitb.enable() import cgi import os print "Content-Type: text/html\n" input_data = cgi.FieldStorage() numer = str(input_data.getvalue( 'x' ) ) x2 = int(numer) * 2 print str(x2) ______________________________________________________________________________________________ Por supuesto, cliente.html va en la carpeta de documentos del servidor con permiso 777 y cgi2.py va en la carpeta cgi-bin del servidor con permiso 755. Espero que os sirva tanto como a mi. Saludos afectuosos. :-) Juanma.- ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pych3m4 en gmail.com Mon Dec 10 00:47:05 2012 From: pych3m4 en gmail.com (Chema Cortes) Date: Mon, 10 Dec 2012 00:47:05 +0100 Subject: [Python-es] =?iso-8859-1?q?AJAX_muy_f=E1cil?= In-Reply-To: References: Message-ID: El día 9 de diciembre de 2012 22:03, Juan M. Puertas escribió: > Hola amigos, hoy os envío un código para realizar AJAX de una manera muy > fácil. > Hace tiempo que vengo buscando lo siguiente: > Enviar desde un archivo independiente HTML uno o más parámetros en > Javascript hacia una función en un CGI Python, esta función procesa los > parámetros recibidos y los devuelve a la función en javascript. > La ventaja que tiene esto es que puedes programar javascript aparte del > código en Python, y que el programa en Python, al ser un CGI no tiene que > iniciarse como un demonio cada vez que el computador servidor tenga un > problema. > Este ejemplo lo he encontrado en Internet, pero lo he modificado para que > haga lo que quiero: En los archivos de la lista aún se puede encontrar un ejemplo mío que, aunque para mod_python, podría haberte ahorrado tiempo de búsqueda: http://mail.python.org/pipermail/python-es/2007-August/018261.html El código javascript está desacoplado y la respuesta es más instantánea gracias al evento 'onKeyup'. -- Hyperreals *R: http://ch3m4.org/blog Quarks, bits y otras criaturas infinitesimales From martinmaqueira en gmail.com Mon Dec 10 01:02:19 2012 From: martinmaqueira en gmail.com (Martin Maqueira) Date: Mon, 10 Dec 2012 01:02:19 +0100 Subject: [Python-es] Impresion In-Reply-To: References: Message-ID: para imprimir en impresoras de red abrís una conexión con socket al puerto tcp 9100 , ahí volcas el archivo pcl. sin más, no busques más. mira en la documentación de ghostscript para pasar de pdf a pcl. luego en pypi hay un modulo que funcionaigual que la línea de comandos. si quieres pásame un mail privado y te paso los manuales que tengo El 09/12/2012 00:07, "Stalin Bello" escribió: > Me gustaria indagar mas sobre el tema, donde puedo leer mas. Gracias de > antemano. > El 08/12/2012 15:52, "veronik carmona" escribió: > >> La transformacion a pcl funciona a la perfeccion para imprimir pdf de >> manera k estos no demoren en el proceso de impresion...wenismo hace un par >> d dias un colega lo implemento >> El 06/12/2012 18:08, "Martin Maqueira" >> escribió: >> >>> hola, >>> si puedes generar lo que quieras imprimir en pdf, entonces puedes >>> imprimir en impresoras de red convirtiéndolo a pcl y transmitiéndolo por >>> socket a la impresora. >>> >>> tengo un sistema funcionando de está manera >>> >>> para pasar de pcl a pdf utiliza módulos d ghost. >>> >>> si te interesa puede pasar más info. >>> >>> saludos >>> >>> Martin Maqueira >>> El 29/11/2012 17:51, "Alfonso de la Guarda" >>> escribió: >>> >>>> Hola, >>>> >>>> Para un proyecto que trabajé hace unos 10 años, hacía esto: >>>> >>>> estad = os.system("cat %s > %s" % (nom_arch, device_port)) >>>> estad = os.system("cat corte | escpos > %s" % device_port) >>>> >>>> Donde estad te regresa un potencial problema de comunicación con el >>>> dispositivo.... >>>> >>>> La segunda línea era para mandarle el código de corte a la impresora >>>> ticketera >>>> >>>> >>>> https://bitbucket.org/alfonsodg/sisventi/src/253b3d0d3664b948f90de228dd30b49703182448/pysis.py?at=default >>>> >>>> >>>> Saludos, >>>> >>>> -------------------------------- >>>> Alfonso de la Guarda >>>> Twitter: @alfonsodg >>>> Redes sociales: alfonsodg >>>> Telef. 991935157 >>>> 1024D/B23B24A4 >>>> 5469 ED92 75A3 BBDB FD6B 58A5 54A1 851D B23B 24A4 >>>> >>>> >>>> 2012/11/29 Stalin Bello : >>>> > Buenos dias Lista >>>> > >>>> > Quisiera saber si existe alguna manera de imprimir directamente a la >>>> > impresora por defecto, gracias de antemano; >>>> > >>>> > -- >>>> > T.S.U. Stalin Bello >>>> > Analista Programador de Sistemas >>>> > Consejo de Desarrollo Científico y Humanístico >>>> > Universidad de Carabobo >>>> > linux-counter: 290715 >>>> > IEEE:90310271 >>>> > sbello en uc.edu.ve stalinb en gmail.com stalinbello en yahoo.es >>>> > (0241) 6004000, (0241) 6005000 ext 144080 >>>> > >>>> > _______________________________________________ >>>> > Python-es mailing list >>>> > Python-es en python.org >>>> > http://mail.python.org/mailman/listinfo/python-es >>>> > FAQ: http://python-es-faq.wikidot.com/ >>>> > >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> http://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alvarezlucas en gmail.com Mon Dec 10 02:17:50 2012 From: alvarezlucas en gmail.com (Lucas Alvarez) Date: Sun, 9 Dec 2012 22:17:50 -0300 Subject: [Python-es] [Consulta] Error al desencriptar el texto Message-ID: Hola gente, vengo dando mis primeros pasos en python y estoy intentando realizar un encriptador, el tema es que estoy tan quemado con el codigo que ya no veo donde tengo el error al momento de desencriptar. Si alguien lo ve y me puede dar una mano mas que agradecido... aqui el codigo: # usr/bin/env python # -*- coding: UTF-8 -*- # Encripta y Desencripta un texto dependiendo de la clave de usuario debug = False def encripta(Texto, Accion, ClaveUsuario): temp = 0 i = 0 j = 0 n = len(ClaveUsuario) rtn = "" # Convierto la cadena ClaveUsuario a una lista ascii ClaveUsuarioASCII = [] for i in range(0, n): ClaveUsuarioASCII.append(ord(ClaveUsuario[i])) if debug: print "-----------------------------------------------------------" print "La Lista ClaveUsuario: ---> ", ClaveUsuarioASCII print "La Letra Seria: ---> ", ClaveUsuario[i] # Convierto la cadena texto a una lista ascii TextoASCII = [] d = len(Texto) for i in range(0, d): TextoASCII.append(ord(Texto[i])) if debug: print "-----------------------------------------------------------" print "La Lista TextoAsccii: ---> ", TextoASCII print "La Letra Seria: ---> ", Texto[i] # Encriptar Texto if Accion == 1: for i in range(0, d): if j + 1 >= n: j = 1 else: j = j + 1 if debug: print "-----------------------------------------------------------" print "Letra del Texto en ASCII --->: ", TextoASCII[i] print "Numero en Clave Usuario --->: ", ClaveUsuarioASCII[j] temp = TextoASCII[i] + ClaveUsuarioASCII[j] if temp > 255: temp = temp + 255 if debug: print temp rtn = rtn + chr(temp) if debug: print rtn # Desencriptar elif Accion == 2: for i in range(0, d): if j + 1 >= n: j = 1 else: j = j + 1 if debug: print TextoASCII[i] print ClaveUsuarioASCII[j] temp = TextoASCII[i] - ClaveUsuarioASCII[j] if debug: print temp if temp < 0: temp = temp + 255 if debug: print temp rtn = rtn + chr(temp) return rtn print encripta("Texto a Encriptar",1 ,"Clave") Saludos! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nadaird en gmail.com Mon Dec 10 10:18:20 2012 From: nadaird en gmail.com (G V) Date: Mon, 10 Dec 2012 10:18:20 +0100 Subject: [Python-es] [Consulta] Error al desencriptar el texto In-Reply-To: References: Message-ID: Creo que el indentado se ha ido al carajo, o eso o tu problema es justo ese. Puedes usar herramientas como pastebin para que se pueda leer mejor el codigo a la hora de compartirlo. Un saludo 2012/12/10 Lucas Alvarez > Hola gente, vengo dando mis primeros pasos en python y estoy intentando > realizar un encriptador, el tema es que estoy tan quemado con el codigo que > ya no veo donde tengo el error al momento de desencriptar. > > Si alguien lo ve y me puede dar una mano mas que agradecido... aqui el > codigo: > > # usr/bin/env python > > # -*- coding: UTF-8 -*- > > # Encripta y Desencripta un texto dependiendo de la clave de usuario > > > debug = False > > > > def encripta(Texto, Accion, ClaveUsuario): > > temp = 0 > > i = 0 > > j = 0 > > n = len(ClaveUsuario) > > rtn = "" > > # Convierto la cadena ClaveUsuario a una lista ascii > > ClaveUsuarioASCII = [] > > for i in range(0, n): > > ClaveUsuarioASCII.append(ord(ClaveUsuario[i])) > > if debug: > > print > "-----------------------------------------------------------" > > print "La Lista ClaveUsuario: ---> ", ClaveUsuarioASCII > > print "La Letra Seria: ---> ", ClaveUsuario[i] > > > # Convierto la cadena texto a una lista ascii > > TextoASCII = [] > > d = len(Texto) > > for i in range(0, d): > > TextoASCII.append(ord(Texto[i])) > > if debug: > > print "-----------------------------------------------------------" > > print "La Lista TextoAsccii: ---> ", TextoASCII > > print "La Letra Seria: ---> ", Texto[i] > > > # Encriptar Texto > > if Accion == 1: > > for i in range(0, d): > > if j + 1 >= n: > > j = 1 > > else: > > j = j + 1 > > > if debug: > > print "-----------------------------------------------------------" > > print "Letra del Texto en ASCII --->: ", TextoASCII[i] > > print "Numero en Clave Usuario --->: ", ClaveUsuarioASCII[j] > > > temp = TextoASCII[i] + ClaveUsuarioASCII[j] > > > if temp > 255: > > temp = temp + 255 > > if debug: > > print temp > > rtn = rtn + chr(temp) > > if debug: > > print rtn > > > # Desencriptar > > elif Accion == 2: > > for i in range(0, d): > > if j + 1 >= n: > > j = 1 > > else: > > j = j + 1 > > if debug: > > print TextoASCII[i] > > print ClaveUsuarioASCII[j] > > temp = TextoASCII[i] - ClaveUsuarioASCII[j] > > if debug: > > print temp > > if temp < 0: > > temp = temp + 255 > > if debug: > > print temp > > rtn = rtn + chr(temp) > > > return rtn > > > print encripta("Texto a Encriptar",1 ,"Clave") > > > > Saludos! > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ricardo.cardenes en gmail.com Mon Dec 10 11:14:52 2012 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes?=) Date: Mon, 10 Dec 2012 10:14:52 +0000 Subject: [Python-es] Impresion In-Reply-To: References: Message-ID: Teniendo en cuenta que pide "imprimir a la impresora por defecto", yo no me apresuraría a decirle que envíe directo al socket 9100, etc. Al menos hasta que aclare qué entiende él como "directamente". Además, diciendo "por defecto" entiendo que la solución podría usarse en varias máquinas para las que la impresora por defecto podría ser diferente (pero tampoco lo aclara). A lo mejor le vale algo sencillo como un pipe que use "lp" o "lpr", que le soluciona el problema sin tener que ejecutar una conexión por red... Los spoolers están para algo, señores. 2012/12/10 Martin Maqueira > para imprimir en impresoras de red abrís una conexión con socket al puerto > tcp 9100 , ahí volcas el archivo pcl. sin más, no busques más. mira en la > documentación de ghostscript para pasar de pdf a pcl. luego en pypi hay un > modulo que funcionaigual que la línea de comandos. > > si quieres pásame un mail privado y te paso los manuales que tengo > El 09/12/2012 00:07, "Stalin Bello" escribió: > > Me gustaria indagar mas sobre el tema, donde puedo leer mas. Gracias de >> antemano. >> El 08/12/2012 15:52, "veronik carmona" escribió: >> >>> La transformacion a pcl funciona a la perfeccion para imprimir pdf de >>> manera k estos no demoren en el proceso de impresion...wenismo hace un par >>> d dias un colega lo implemento >>> El 06/12/2012 18:08, "Martin Maqueira" >>> escribió: >>> >>>> hola, >>>> si puedes generar lo que quieras imprimir en pdf, entonces puedes >>>> imprimir en impresoras de red convirtiéndolo a pcl y transmitiéndolo por >>>> socket a la impresora. >>>> >>>> tengo un sistema funcionando de está manera >>>> >>>> para pasar de pcl a pdf utiliza módulos d ghost. >>>> >>>> si te interesa puede pasar más info. >>>> >>>> saludos >>>> >>>> Martin Maqueira >>>> El 29/11/2012 17:51, "Alfonso de la Guarda" >>>> escribió: >>>> >>>>> Hola, >>>>> >>>>> Para un proyecto que trabajé hace unos 10 años, hacía esto: >>>>> >>>>> estad = os.system("cat %s > %s" % (nom_arch, device_port)) >>>>> estad = os.system("cat corte | escpos > %s" % device_port) >>>>> >>>>> Donde estad te regresa un potencial problema de comunicación con el >>>>> dispositivo.... >>>>> >>>>> La segunda línea era para mandarle el código de corte a la impresora >>>>> ticketera >>>>> >>>>> >>>>> https://bitbucket.org/alfonsodg/sisventi/src/253b3d0d3664b948f90de228dd30b49703182448/pysis.py?at=default >>>>> >>>>> >>>>> Saludos, >>>>> >>>>> -------------------------------- >>>>> Alfonso de la Guarda >>>>> Twitter: @alfonsodg >>>>> Redes sociales: alfonsodg >>>>> Telef. 991935157 >>>>> 1024D/B23B24A4 >>>>> 5469 ED92 75A3 BBDB FD6B 58A5 54A1 851D B23B 24A4 >>>>> >>>>> >>>>> 2012/11/29 Stalin Bello : >>>>> > Buenos dias Lista >>>>> > >>>>> > Quisiera saber si existe alguna manera de imprimir directamente a la >>>>> > impresora por defecto, gracias de antemano; >>>>> > >>>>> > -- >>>>> > T.S.U. Stalin Bello >>>>> > Analista Programador de Sistemas >>>>> > Consejo de Desarrollo Científico y Humanístico >>>>> > Universidad de Carabobo >>>>> > linux-counter: 290715 >>>>> > IEEE:90310271 >>>>> > sbello en uc.edu.ve stalinb en gmail.com stalinbello en yahoo.es >>>>> > (0241) 6004000, (0241) 6005000 ext 144080 >>>>> > >>>>> > _______________________________________________ >>>>> > Python-es mailing list >>>>> > Python-es en python.org >>>>> > http://mail.python.org/mailman/listinfo/python-es >>>>> > FAQ: http://python-es-faq.wikidot.com/ >>>>> > >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> http://mail.python.org/mailman/listinfo/python-es >>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>> >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> http://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ricardo.cardenes en gmail.com Mon Dec 10 11:15:46 2012 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes?=) Date: Mon, 10 Dec 2012 10:15:46 +0000 Subject: [Python-es] Impresion In-Reply-To: References: Message-ID: 2012/12/10 Ricardo Cárdenes > > A lo mejor le vale algo sencillo como un pipe que use "lp" o "lpr", que le > soluciona el problema sin tener que ejecutar una conexión por red... Los > spoolers están para algo, señores. > Aunque claro, he asumido Linux. Vaya vd. a saber con qué está trabajando. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jcea en jcea.es Mon Dec 10 11:41:09 2012 From: jcea en jcea.es (Jesus Cea) Date: Mon, 10 Dec 2012 11:41:09 +0100 Subject: [Python-es] Python Creator Guido van Rossum Leaves Google For Dropbox Message-ID: <50C5BC45.5070408@jcea.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 - -- Jesús Cea Avión _/_/ _/_/_/ _/_/_/ jcea en jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/_/_/_/ . _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with undefined - http://www.enigmail.net/ iQCVAwUBUMW8RZlgi5GaxT1NAQK5vwP7B1IcdI+N9EOxksfI8lZ341hIh/dauBnH m4bZhFfOBHw47PLLq5w/brFNbP2YQhRS42wHy/rVMJq3Vs57jIbe5FgXzohFLSdB nokUoMvVTNCTGVlWQu7Z6/BTkW9WgZotc5U5xD+fqM27A1jPq02qUUW+Dy7bNZap BESdmHx3Wsc= =vvbr -----END PGP SIGNATURE----- From alvarezlucas en gmail.com Mon Dec 10 12:06:59 2012 From: alvarezlucas en gmail.com (Lucas Alvarez) Date: Mon, 10 Dec 2012 08:06:59 -0300 Subject: [Python-es] [Consulta] Error al desencriptar el texto In-Reply-To: References: Message-ID: La verdad que si.... el identado se fue al carajo.... lo puse en pastebin como lo sugerís.. 1. # usr/bin/env python 2. # -*- coding: UTF-8 -*- 3. # Encripta y Desencripta un texto dependiendo de la clave de usuario 4. 5. debug = False 6. 7. 8. def encripta(Texto, Accion, ClaveUsuario): 9. temp = 0 10. i = 0 11. j = 0 12. n = len(ClaveUsuario) 13. rtn = "" 14. # Convierto la cadena ClaveUsuario a una lista ascii 15. ClaveUsuarioASCII = [] 16. for i in range(0, n): 17. ClaveUsuarioASCII.append(ord(ClaveUsuario[i])) 18. if debug: 19. print "-----------------------------------------------------------" 20. print "La Lista ClaveUsuario: ---> ", ClaveUsuarioASCII 21. print "La Letra Seria: ---> ", ClaveUsuario[i] 22. 23. # Convierto la cadena texto a una lista ascii 24. TextoASCII = [] 25. d = len(Texto) 26. for i in range(0, d): 27. TextoASCII.append(ord(Texto[i])) 28. if debug: 29. print "-----------------------------------------------------------" 30. print "La Lista TextoAsccii: ---> ", TextoASCII 31. print "La Letra Seria: ---> ", Texto[i] 32. 33. # Encriptar Texto 34. if Accion == 1: 35. for i in range(0, d): 36. if j + 1 >= n: 37. j = 1 38. else: 39. j = j + 1 40. 41. if debug: 42. print "-----------------------------------------------------------" 43. print "Letra del Texto en ASCII --->: ", TextoASCII[i] 44. print "Numero en Clave Usuario --->: ", ClaveUsuarioASCII[j] 45. 46. temp = TextoASCII[i] + ClaveUsuarioASCII[j] 47. 48. if temp > 255: 49. temp = temp + 255 50. if debug: 51. print temp 52. rtn = rtn + chr(temp) 53. if debug: 54. print rtn 55. 56. # Desencriptar 57. elif Accion == 2: 58. for i in range(0, d): 59. if j + 1 >= n: 60. j = 1 61. else: 62. j = j + 1 63. if debug: 64. print TextoASCII[i] 65. print ClaveUsuarioASCII[j] 66. temp = TextoASCII[i] - ClaveUsuarioASCII[j] 67. if debug: 68. print temp 69. if temp < 0: 70. temp = temp + 255 71. if debug: 72. print temp 73. rtn = rtn + chr(temp) 74. 75. return rtn 76. 77. print encripta("Texto a Encriptar",1 ,"Clave") 2012/12/10 G V > Creo que el indentado se ha ido al carajo, o eso o tu problema es justo > ese. Puedes usar herramientas como pastebin para que se pueda leer mejor el > codigo a la hora de compartirlo. > > Un saludo > > > 2012/12/10 Lucas Alvarez > >> Hola gente, vengo dando mis primeros pasos en python y estoy intentando >> realizar un encriptador, el tema es que estoy tan quemado con el codigo que >> ya no veo donde tengo el error al momento de desencriptar. >> >> Si alguien lo ve y me puede dar una mano mas que agradecido... aqui el >> codigo: >> >> # usr/bin/env python >> >> # -*- coding: UTF-8 -*- >> >> # Encripta y Desencripta un texto dependiendo de la clave de usuario >> >> >> debug = False >> >> >> >> def encripta(Texto, Accion, ClaveUsuario): >> >> temp = 0 >> >> i = 0 >> >> j = 0 >> >> n = len(ClaveUsuario) >> >> rtn = "" >> >> # Convierto la cadena ClaveUsuario a una lista ascii >> >> ClaveUsuarioASCII = [] >> >> for i in range(0, n): >> >> ClaveUsuarioASCII.append(ord(ClaveUsuario[i])) >> >> if debug: >> >> print >> "-----------------------------------------------------------" >> >> print "La Lista ClaveUsuario: ---> ", ClaveUsuarioASCII >> >> print "La Letra Seria: ---> ", ClaveUsuario[i] >> >> >> # Convierto la cadena texto a una lista ascii >> >> TextoASCII = [] >> >> d = len(Texto) >> >> for i in range(0, d): >> >> TextoASCII.append(ord(Texto[i])) >> >> if debug: >> >> print >> "-----------------------------------------------------------" >> >> print "La Lista TextoAsccii: ---> ", TextoASCII >> >> print "La Letra Seria: ---> ", Texto[i] >> >> >> # Encriptar Texto >> >> if Accion == 1: >> >> for i in range(0, d): >> >> if j + 1 >= n: >> >> j = 1 >> >> else: >> >> j = j + 1 >> >> >> if debug: >> >> print "-----------------------------------------------------------" >> >> print "Letra del Texto en ASCII --->: ", TextoASCII[i] >> >> print "Numero en Clave Usuario --->: ", ClaveUsuarioASCII[j] >> >> >> temp = TextoASCII[i] + ClaveUsuarioASCII[j] >> >> >> if temp > 255: >> >> temp = temp + 255 >> >> if debug: >> >> print temp >> >> rtn = rtn + chr(temp) >> >> if debug: >> >> print rtn >> >> >> # Desencriptar >> >> elif Accion == 2: >> >> for i in range(0, d): >> >> if j + 1 >= n: >> >> j = 1 >> >> else: >> >> j = j + 1 >> >> if debug: >> >> print TextoASCII[i] >> >> print ClaveUsuarioASCII[j] >> >> temp = TextoASCII[i] - ClaveUsuarioASCII[j] >> >> if debug: >> >> print temp >> >> if temp < 0: >> >> temp = temp + 255 >> >> if debug: >> >> print temp >> >> rtn = rtn + chr(temp) >> >> >> return rtn >> >> >> print encripta("Texto a Encriptar",1 ,"Clave") >> >> >> >> Saludos! >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ricardo.cardenes en gmail.com Mon Dec 10 16:01:52 2012 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes?=) Date: Mon, 10 Dec 2012 15:01:52 +0000 Subject: [Python-es] [Consulta] Error al desencriptar el texto In-Reply-To: References: Message-ID: Y... ¿cual es el problema? Si cambio el final por: cifr = encripta("Texto a Encriptar",1 ,"Clave") print encripta(cifr, 2, "Clave") Obtengo: Texto a Encriptar que es lo que esperaría. 2012/12/10 Lucas Alvarez > La verdad que si.... el identado se fue al carajo.... lo puse en pastebin > como lo sugerís.. > > > 1. # usr/bin/env python > 2. # -*- coding: UTF-8 -*- > 3. # Encripta y Desencripta un texto dependiendo de la clave de usuario > 4. > 5. debug = False > 6. > 7. > 8. def encripta(Texto, Accion, ClaveUsuario): > 9. temp = 0 > 10. i = 0 > 11. j = 0 > 12. n = len(ClaveUsuario) > 13. rtn = "" > 14. # Convierto la cadena ClaveUsuario a una lista ascii > 15. ClaveUsuarioASCII = [] > 16. for i in range(0, n): > 17. ClaveUsuarioASCII.append(ord(ClaveUsuario[i])) > 18. if debug: > 19. print > "-----------------------------------------------------------" > 20. print "La Lista ClaveUsuario: ---> ", ClaveUsuarioASCII > 21. print "La Letra Seria: ---> ", ClaveUsuario[i] > 22. > 23. # Convierto la cadena texto a una lista ascii > 24. TextoASCII = [] > 25. d = len(Texto) > 26. for i in range(0, d): > 27. TextoASCII.append(ord(Texto[i])) > 28. if debug: > 29. print > "-----------------------------------------------------------" > 30. print "La Lista TextoAsccii: ---> ", TextoASCII > 31. print "La Letra Seria: ---> ", Texto[i] > 32. > 33. # Encriptar Texto > 34. if Accion == 1: > 35. for i in range(0, d): > 36. if j + 1 >= n: > 37. j = 1 > 38. else: > 39. j = j + 1 > 40. > 41. if debug: > 42. print > "-----------------------------------------------------------" > 43. print "Letra del Texto en ASCII --->: ", > TextoASCII[i] > 44. print "Numero en Clave Usuario --->: ", > ClaveUsuarioASCII[j] > 45. > 46. temp = TextoASCII[i] + ClaveUsuarioASCII[j] > 47. > 48. if temp > 255: > 49. temp = temp + 255 > 50. if debug: > 51. print temp > 52. rtn = rtn + chr(temp) > 53. if debug: > 54. print rtn > 55. > 56. # Desencriptar > 57. elif Accion == 2: > 58. for i in range(0, d): > 59. if j + 1 >= n: > 60. j = 1 > 61. else: > 62. j = j + 1 > 63. if debug: > 64. print TextoASCII[i] > 65. print ClaveUsuarioASCII[j] > 66. temp = TextoASCII[i] - ClaveUsuarioASCII[j] > 67. if debug: > 68. print temp > 69. if temp < 0: > 70. temp = temp + 255 > 71. if debug: > 72. print temp > 73. rtn = rtn + chr(temp) > 74. > 75. return rtn > 76. > 77. print encripta("Texto a Encriptar",1 ,"Clave") > > > > 2012/12/10 G V > >> Creo que el indentado se ha ido al carajo, o eso o tu problema es justo >> ese. Puedes usar herramientas como pastebin para que se pueda leer mejor el >> codigo a la hora de compartirlo. >> >> Un saludo >> >> >> 2012/12/10 Lucas Alvarez >> >>> Hola gente, vengo dando mis primeros pasos en python y estoy intentando >>> realizar un encriptador, el tema es que estoy tan quemado con el codigo que >>> ya no veo donde tengo el error al momento de desencriptar. >>> >>> Si alguien lo ve y me puede dar una mano mas que agradecido... aqui el >>> codigo: >>> >>> # usr/bin/env python >>> >>> # -*- coding: UTF-8 -*- >>> >>> # Encripta y Desencripta un texto dependiendo de la clave de usuario >>> >>> >>> debug = False >>> >>> >>> >>> def encripta(Texto, Accion, ClaveUsuario): >>> >>> temp = 0 >>> >>> i = 0 >>> >>> j = 0 >>> >>> n = len(ClaveUsuario) >>> >>> rtn = "" >>> >>> # Convierto la cadena ClaveUsuario a una lista ascii >>> >>> ClaveUsuarioASCII = [] >>> >>> for i in range(0, n): >>> >>> ClaveUsuarioASCII.append(ord(ClaveUsuario[i])) >>> >>> if debug: >>> >>> print >>> "-----------------------------------------------------------" >>> >>> print "La Lista ClaveUsuario: ---> ", ClaveUsuarioASCII >>> >>> print "La Letra Seria: ---> ", ClaveUsuario[i] >>> >>> >>> # Convierto la cadena texto a una lista ascii >>> >>> TextoASCII = [] >>> >>> d = len(Texto) >>> >>> for i in range(0, d): >>> >>> TextoASCII.append(ord(Texto[i])) >>> >>> if debug: >>> >>> print >>> "-----------------------------------------------------------" >>> >>> print "La Lista TextoAsccii: ---> ", TextoASCII >>> >>> print "La Letra Seria: ---> ", Texto[i] >>> >>> >>> # Encriptar Texto >>> >>> if Accion == 1: >>> >>> for i in range(0, d): >>> >>> if j + 1 >= n: >>> >>> j = 1 >>> >>> else: >>> >>> j = j + 1 >>> >>> >>> if debug: >>> >>> print "-----------------------------------------------------------" >>> >>> print "Letra del Texto en ASCII --->: ", TextoASCII[i] >>> >>> print "Numero en Clave Usuario --->: ", ClaveUsuarioASCII[j] >>> >>> >>> temp = TextoASCII[i] + ClaveUsuarioASCII[j] >>> >>> >>> if temp > 255: >>> >>> temp = temp + 255 >>> >>> if debug: >>> >>> print temp >>> >>> rtn = rtn + chr(temp) >>> >>> if debug: >>> >>> print rtn >>> >>> >>> # Desencriptar >>> >>> elif Accion == 2: >>> >>> for i in range(0, d): >>> >>> if j + 1 >= n: >>> >>> j = 1 >>> >>> else: >>> >>> j = j + 1 >>> >>> if debug: >>> >>> print TextoASCII[i] >>> >>> print ClaveUsuarioASCII[j] >>> >>> temp = TextoASCII[i] - ClaveUsuarioASCII[j] >>> >>> if debug: >>> >>> print temp >>> >>> if temp < 0: >>> >>> temp = temp + 255 >>> >>> if debug: >>> >>> print temp >>> >>> rtn = rtn + chr(temp) >>> >>> >>> return rtn >>> >>> >>> print encripta("Texto a Encriptar",1 ,"Clave") >>> >>> >>> >>> Saludos! >>> >>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alvarezlucas en gmail.com Mon Dec 10 16:09:33 2012 From: alvarezlucas en gmail.com (Lucas Alvarez) Date: Mon, 10 Dec 2012 12:09:33 -0300 Subject: [Python-es] [Consulta] Error al desencriptar el texto In-Reply-To: References: Message-ID: Jajaja.... de tanto tocarlo no me di cuenta de que ya estaba funcionando... perdón y gracias! 2012/12/10 Ricardo Cárdenes > cifr = encripta("Texto a Encriptar",1 ,"Clave") > print encripta(cifr, 2, "Clave") > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From martinmaqueira en gmail.com Mon Dec 10 20:27:49 2012 From: martinmaqueira en gmail.com (Martin Maqueira) Date: Mon, 10 Dec 2012 20:27:49 +0100 Subject: [Python-es] Impresion In-Reply-To: References: Message-ID: por eso la solución que propuse cumple con los requisitos y funciona incluso en mac, freebsd,as400,etc. estoy de acuerdo con el tema e los spoolers pero te ata a un sistema operativo y/o te obliga a reprogramar. saludos El 10/12/2012 11:16, "Ricardo Cárdenes" escribió: > > > > 2012/12/10 Ricardo Cárdenes >> >> A lo mejor le vale algo sencillo como un pipe que use "lp" o "lpr", que >> le soluciona el problema sin tener que ejecutar una conexión por red... Los >> spoolers están para algo, señores. >> > > Aunque claro, he asumido Linux. Vaya vd. a saber con qué está trabajando. > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ricardo.cardenes en gmail.com Mon Dec 10 20:34:41 2012 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes?=) Date: Mon, 10 Dec 2012 19:34:41 +0000 Subject: [Python-es] Impresion In-Reply-To: References: Message-ID: Sí, claro... pero te obliga a codificar la IP/nombre de red de la impresora en el programa o adjuntar un fichero de configuración en caso de instalaciones con diferentes impresoras (digamos, varios departamentos, despachos, ...), lo cual puede ser bastante incómodo de mantener. Aunque también se podrían usar entradas SRV en un DNS, pero... 2012/12/10 Martin Maqueira > por eso la solución que propuse cumple con los requisitos y funciona > incluso en mac, freebsd,as400,etc. > > estoy de acuerdo con el tema e los spoolers pero te ata a un sistema > operativo y/o te obliga a reprogramar. > > saludos > El 10/12/2012 11:16, "Ricardo Cárdenes" > escribió: > >> >> >> >> 2012/12/10 Ricardo Cárdenes >>> >>> A lo mejor le vale algo sencillo como un pipe que use "lp" o "lpr", que >>> le soluciona el problema sin tener que ejecutar una conexión por red... Los >>> spoolers están para algo, señores. >>> >> >> Aunque claro, he asumido Linux. Vaya vd. a saber con qué está trabajando. >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From j.isaac09 en gmail.com Tue Dec 11 19:03:49 2012 From: j.isaac09 en gmail.com (JORGE ISAAC) Date: Tue, 11 Dec 2012 14:03:49 -0400 Subject: [Python-es] hola atodos In-Reply-To: References: Message-ID: Hola amigo se que cundo pones esta busqueda en google salen miles de rsultados pero,mira esto y se que te vas a solprender cundo te diga que soy cubano y aca las conexiones son una mierd.... aparte que tengo que pasar por mas de 10 filtros de conexion incluyendo las militares pra poder revisar el gmail......Recurda amigo esto es cuba,,,,,,,,,,,,,,,, con respecto a mi proyecto es bastante prometedor y se que ayudara acientos de cunbanos que como yo se la ben negra pra salir solamente a revisar un simple correo en este siglo 21..... NO OBSTANTE ESTOY TRABAJANDO EN BASER AREALIZAR EL PROYECTO , LO UNOCO QUE ME FALTA ES ESA PAEQUNA SENTENCIA QUE FUNCIONA HASTA LISTAR TODOS LOAS MAILS PERO NO PUEDO CREAR EL FILTRO PRA NO TOCR LOS OTRAO SEGUN CABEZERA... CAHOOOOOO DESDE LA OTRA PARED DEL MUNDO ISAAC El 08/12/12, Jose Luis Dallapiccola escribió: > Hola Jorge, muy buen día. > > > 2012/12/8 JORGE ISAAC > >> hola amigo ,tengo un proyecto desarrollado en visul basic 6.0 el cual >> emula como un server de correo ,pero quisira completar las operaciones >> que me faltan con `ython que segun e esqucahdoes lo maximo, quisiera >> tener un modulo que me permita entrar al server y extraer solo los >> correos que ten gan en el campo to una determinada direccion: >> resumiendo es esto >> if to ="user en gsmil.com" then >> descargar a base de datos >> else >> no hacer nada >> > > He puesto solamente "python mail pop" y han aparecido miles de resultados. > Al menos deberías leer en principio: > http://docs.python.org/2/library/poplib.html > > Saludos. > > > >> por favor alludenme........ cahooooo >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > --- > José Luis DALLAPICCOLA > Neuquén Capital > Patagonia Argentina > From segovia.al en gmail.com Tue Dec 11 19:12:00 2012 From: segovia.al en gmail.com (Betto Rodriguez) Date: Tue, 11 Dec 2012 15:12:00 -0300 Subject: [Python-es] hola atodos In-Reply-To: References: Message-ID: Comentario Off Topic: QUE MIERDA ES EL COMUNISMO. 2012/12/11 JORGE ISAAC > Hola amigo se que cundo pones esta busqueda en google salen miles de > rsultados pero,mira esto y se que te vas a solprender cundo te diga > que soy cubano y aca las conexiones son una mierd.... aparte que tengo > que pasar por mas de 10 filtros de conexion incluyendo las militares > pra poder revisar el gmail......Recurda amigo esto es > cuba,,,,,,,,,,,,,,,, > con respecto a mi proyecto es bastante prometedor y se que ayudara > acientos de cunbanos que como yo se la ben negra pra salir solamente a > revisar un simple correo en este siglo 21..... > NO OBSTANTE ESTOY TRABAJANDO EN BASER AREALIZAR EL PROYECTO , LO UNOCO > QUE ME FALTA ES ESA PAEQUNA SENTENCIA QUE FUNCIONA HASTA LISTAR TODOS > LOAS MAILS PERO NO PUEDO CREAR EL FILTRO PRA NO TOCR LOS OTRAO SEGUN > CABEZERA... CAHOOOOOO > DESDE LA OTRA PARED DEL MUNDO ISAAC > > > El 08/12/12, Jose Luis Dallapiccola escribió: > > Hola Jorge, muy buen día. > > > > > > 2012/12/8 JORGE ISAAC > > > >> hola amigo ,tengo un proyecto desarrollado en visul basic 6.0 el cual > >> emula como un server de correo ,pero quisira completar las operaciones > >> que me faltan con `ython que segun e esqucahdoes lo maximo, quisiera > >> tener un modulo que me permita entrar al server y extraer solo los > >> correos que ten gan en el campo to una determinada direccion: > >> resumiendo es esto > >> if to ="user en gsmil.com" then > >> descargar a base de datos > >> else > >> no hacer nada > >> > > > > He puesto solamente "python mail pop" y han aparecido miles de > resultados. > > Al menos deberías leer en principio: > > http://docs.python.org/2/library/poplib.html > > > > Saludos. > > > > > > > >> por favor alludenme........ cahooooo > >> _______________________________________________ > >> Python-es mailing list > >> Python-es en python.org > >> http://mail.python.org/mailman/listinfo/python-es > >> FAQ: http://python-es-faq.wikidot.com/ > >> > > > > > > > > -- > > --- > > José Luis DALLAPICCOLA > > Neuquén Capital > > Patagonia Argentina > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- *Francisco Rodríguez.* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From maengora en gmail.com Tue Dec 11 19:36:02 2012 From: maengora en gmail.com (=?ISO-8859-1?Q?Manuel_Enrique_Gonz=E1lez_Ram=EDrez?=) Date: Tue, 11 Dec 2012 13:36:02 -0500 Subject: [Python-es] hola atodos In-Reply-To: References: Message-ID: El tipo de palabras "He puesto....google..." al comienzo de una respuesta a una solicitud siempre me ha parecido algo brusca en esta lista para aquellos que educadamente preguntamos por algo. Seguramente acudimos a esta lista porque alguien ya paso por eso, lo hacemos como algo que nos lleva a la respuesta de forma más rápida y en muchas ocasiones comunicando algunos trucos (que no se suelen encontrar en san google). Invito a todos los compañeros de esta lista a que si no podemos/estamos a prestar mucha atención cuando recomendamos hacer la busqueda en google para que no se ofendan a quienes por ejemplo como el caso que comenta Jorge tiene limitaciones de acceso. Que tal un.... (aqui es donde se explica y se dan posibles soluciones a la pregunta problema) y si quieres/le gusta/o le recomiendo para que profundice en el tema los siguientes enlaces (ponga los enlaces) o una búsqueda en google con los siguientes términos.... Es de aclarar que esto no aplica para todos, que son muuuuchos en esta lista que son bastante gentiles/amables y hasta te brindar fragmentos de su propio código (que seguramente también les ha costado tiempo, dedicación y mucha búsqueda en google) para contribuir con la solución. El 11 de diciembre de 2012 13:12, Betto Rodriguez escribió: > Comentario Off Topic: QUE MIERDA ES EL COMUNISMO. > > > 2012/12/11 JORGE ISAAC > >> Hola amigo se que cundo pones esta busqueda en google salen miles de >> rsultados pero,mira esto y se que te vas a solprender cundo te diga >> que soy cubano y aca las conexiones son una mierd.... aparte que tengo >> que pasar por mas de 10 filtros de conexion incluyendo las militares >> pra poder revisar el gmail......Recurda amigo esto es >> cuba,,,,,,,,,,,,,,,, >> con respecto a mi proyecto es bastante prometedor y se que ayudara >> acientos de cunbanos que como yo se la ben negra pra salir solamente a >> revisar un simple correo en este siglo 21..... >> NO OBSTANTE ESTOY TRABAJANDO EN BASER AREALIZAR EL PROYECTO , LO UNOCO >> QUE ME FALTA ES ESA PAEQUNA SENTENCIA QUE FUNCIONA HASTA LISTAR TODOS >> LOAS MAILS PERO NO PUEDO CREAR EL FILTRO PRA NO TOCR LOS OTRAO SEGUN >> CABEZERA... CAHOOOOOO >> DESDE LA OTRA PARED DEL MUNDO ISAAC >> >> >> El 08/12/12, Jose Luis Dallapiccola escribió: >> > Hola Jorge, muy buen día. >> > >> > >> > 2012/12/8 JORGE ISAAC >> > >> >> hola amigo ,tengo un proyecto desarrollado en visul basic 6.0 el cual >> >> emula como un server de correo ,pero quisira completar las operaciones >> >> que me faltan con `ython que segun e esqucahdoes lo maximo, quisiera >> >> tener un modulo que me permita entrar al server y extraer solo los >> >> correos que ten gan en el campo to una determinada direccion: >> >> resumiendo es esto >> >> if to ="user en gsmil.com" then >> >> descargar a base de datos >> >> else >> >> no hacer nada >> >> >> > >> > He puesto solamente "python mail pop" y han aparecido miles de >> resultados. >> > Al menos deberías leer en principio: >> > http://docs.python.org/2/library/poplib.html >> > >> > Saludos. >> > >> > >> > >> >> por favor alludenme........ cahooooo >> >> _______________________________________________ >> >> Python-es mailing list >> >> Python-es en python.org >> >> http://mail.python.org/mailman/listinfo/python-es >> >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> > >> > >> > >> > -- >> > --- >> > José Luis DALLAPICCOLA >> > Neuquén Capital >> > Patagonia Argentina >> > >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > *Francisco Rodríguez.* > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Manuel Enrique González Ramírez http://maengora.blogspot.com ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From monobot.soft en gmail.com Tue Dec 11 20:29:23 2012 From: monobot.soft en gmail.com (monoBOT) Date: Tue, 11 Dec 2012 19:29:23 +0000 Subject: [Python-es] hola atodos In-Reply-To: References: Message-ID: Esto es lo típico de pagar justos por pecadores ... pero vamos que hay tanto caradura por ahí que lo que quieren es que les soluciones los problemas sin dedicarles ellos ni 10 segundos a buscar la solución... no veas la cantidad de veces de gente que busca que le resolvamos el problema que le plantean en el "cole", así por la cara. Así que mi recomendación es cuando estamos en el caso del compañero cubano lo especifiquemos y estoy completamente seguro que mas de uno se ofrecerá a solucionarle el problema. Mi opinión. Saludos y ánimos ! -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jcaballero.hep en gmail.com Tue Dec 11 21:45:10 2012 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Tue, 11 Dec 2012 15:45:10 -0500 Subject: [Python-es] try - except no captura Traceback Message-ID: Hola, python 2.6 en RHEL 6 tengo un codigo como este [1]. Esta dentro de un thread con la intencion de arrancar un servidor HTTP. Suele funcionar bien casi el 100% del tiempo. Sin embargo, de vez en cuando, me encuentro este Traceback en la consola [2] Evidentemente tengo que trabajarme un poco la logica del thread. Pero lo que me gustaria saber, y por eso pregunto aqui, es por que ese Traceback no es capturado por el bloque try - except que contiene a self.httpd.serve_forever() No lo captura, y por tanto tampoco veo en los ficheros de logs el mensaje "HTTP Server threw exception: [Errno 104] Connection reset by peer" Nota curiosa, si tengo en los logs otros mensajes, como "HTTP Server threw exception: [Errno 5] Input/output error", que vienen del mismo try - except. Por que ese try - except es capaz de capturar el Err 5, pero no el 104? Cualquier comentario y/o documentacion sobre esto sera mas que bienvenida. Saludos, Jose (perdon por la ausencia de tildes) ----------------------------------------------------------------------------------------------------------------------------- [1] def _init_socketserver(self): while not self.httpd: try: self.log.debug("Attempting to bind to socket for HTTP server on port %s" % self.port) self.httpd = SocketServer.TCPServer(("", self.port), self.handler) self.log.info("Initialized HTTP SocketServer port=%d, root=%s, index = %s" % (self.port, self.docroot, self.index)) except Exception, e: self.log.warning("Socket server exception: %s" % str(e)) self.log.warning("Attempt to initialize HTTP server failed. Will wait 60s and try again.") time.sleep(60) def run(self): self.log.info("Initializing HTTP server...") self._init_socketserver() os.chdir(self.docroot) self.log.debug("Changing working dir to %s"% self.docroot) while not self.stopevent.isSet(): try: self.httpd.serve_forever() except Exception, e: self.log.error("HTTP Server threw exception: %s" % str(e)) ----------------------------------------------------------------------------------------------------------------------------- [2] Traceback (most recent call last): File "/usr/lib64/python2.6/SocketServer.py", line 283, in _handle_request_noblock self.process_request(request, client_address) File "/usr/lib64/python2.6/SocketServer.py", line 309, in process_request self.finish_request(request, client_address) File "/usr/lib64/python2.6/SocketServer.py", line 322, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib64/python2.6/SocketServer.py", line 617, in __init__ self.handle() File "/usr/lib64/python2.6/BaseHTTPServer.py", line 329, in handle self.handle_one_request() File "/usr/lib64/python2.6/BaseHTTPServer.py", line 323, in handle_one_request method() File "/usr/lib64/python2.6/SimpleHTTPServer.py", line 44, in do_GET f = self.send_head() File "/usr/lib64/python2.6/SimpleHTTPServer.py", line 81, in send_head return self.list_directory(path) File "/usr/lib64/python2.6/SimpleHTTPServer.py", line 134, in list_directory self.send_response(200) File "/usr/lib64/python2.6/BaseHTTPServer.py", line 382, in send_response (self.protocol_version, code, message)) File "/usr/lib64/python2.6/socket.py", line 324, in write self.flush() File "/usr/lib64/python2.6/socket.py", line 303, in flush self._sock.sendall(buffer(data, write_offset, buffer_size)) error: [Errno 104] Connection reset by peer ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From soft.sirius en gmail.com Wed Dec 12 00:28:13 2012 From: soft.sirius en gmail.com (Juan M. Puertas) Date: Wed, 12 Dec 2012 00:28:13 +0100 Subject: [Python-es] =?iso-8859-1?q?AJAX_muy_f=E1cil?= In-Reply-To: References: Message-ID: Es una de las opciones que he contemplado. Por despiste pensé que no cumplía las condiciones. Ya que es más rápido y completo, voy a probarlo... ¡Muchas gracias Chema! :-) El 10 de diciembre de 2012 00:47, Chema Cortes escribió: > El día 9 de diciembre de 2012 22:03, Juan M. Puertas > escribió: > > Hola amigos, hoy os envío un código para realizar AJAX de una manera muy > > fácil. > > Hace tiempo que vengo buscando lo siguiente: > > Enviar desde un archivo independiente HTML uno o más parámetros en > > Javascript hacia una función en un CGI Python, esta función procesa los > > parámetros recibidos y los devuelve a la función en javascript. > > La ventaja que tiene esto es que puedes programar javascript aparte del > > código en Python, y que el programa en Python, al ser un CGI no tiene que > > iniciarse como un demonio cada vez que el computador servidor tenga un > > problema. > > Este ejemplo lo he encontrado en Internet, pero lo he modificado para > que > > haga lo que quiero: > > En los archivos de la lista aún se puede encontrar un ejemplo mío que, > aunque para mod_python, podría haberte ahorrado tiempo de búsqueda: > > http://mail.python.org/pipermail/python-es/2007-August/018261.html > > El código javascript está desacoplado y la respuesta es más > instantánea gracias al evento 'onKeyup'. > > > > > -- > Hyperreals *R: http://ch3m4.org/blog > Quarks, bits y otras criaturas infinitesimales > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje en un tiempo.* ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From astralrod en gmail.com Wed Dec 12 01:37:29 2012 From: astralrod en gmail.com (astralrod) Date: Tue, 11 Dec 2012 18:37:29 -0600 Subject: [Python-es] hola atodos In-Reply-To: References: Message-ID: Sin duda hay mucha gente que quiere que se le haga la tarea, pero tambien hay otro caso. En ocaciones tenemos que entregar proyectos en fechas limite y se da el caso que nadie de quienes estemos en el proyecto sabe como resolver X problema y al buscar por internet en google, resulta que muchas veces esa solucion no fuenciona por manejar versiones diferentes o alguna configuracion; tambien hay ocaciones que no tenemos ni idea o experiencia en determinado tema. Creo que lo mejor es mantener un lenguaje y expresion donde no se ataque a la persona que hace una pregunta o consulta. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rapto en arrakis.es Wed Dec 12 08:55:55 2012 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Wed, 12 Dec 2012 08:55:55 +0100 Subject: [Python-es] try - except no captura Traceback In-Reply-To: References: Message-ID: <50C8388B.8080507@arrakis.es> Puede ser simplemente que el cliente cancela la recepción... Otra cosa es que eso te tumbe el servidor. El 11/12/12 21:45, Jose Caballero escribió: > Hola, > > python 2.6 en RHEL 6 > > tengo un codigo como este [1]. > Esta dentro de un thread con la intencion de arrancar un servidor HTTP. > Suele funcionar bien casi el 100% del tiempo. > Sin embargo, de vez en cuando, me encuentro este Traceback en la > consola [2] > Evidentemente tengo que trabajarme un poco la logica del thread. > Pero lo que me gustaria saber, y por eso pregunto aqui, es por que ese > Traceback no es capturado por el bloque try - except que contiene a > self.httpd.serve_forever() > No lo captura, y por tanto tampoco veo en los ficheros de logs el > mensaje "HTTP Server threw exception: [Errno 104] Connection reset by > peer" > Nota curiosa, si tengo en los logs otros mensajes, como "HTTP Server > threw exception: [Errno 5] Input/output error", que vienen del mismo > try - except. > Por que ese try - except es capaz de capturar el Err 5, pero no el 104? > > Cualquier comentario y/o documentacion sobre esto sera mas que bienvenida. > > Saludos, > Jose (perdon por la ausencia de tildes) > > ----------------------------------------------------------------------------------------------------------------------------- > > [1] > > > def _init_socketserver(self): > while not self.httpd: > try: > self.log.debug("Attempting to bind to socket for HTTP > server on port %s" % self.port) > self.httpd = SocketServer.TCPServer(("", self.port), > self.handler) > self.log.info ("Initialized HTTP SocketServer > port=%d, root=%s, index = %s" % (self.port, > self.docroot, > self.index)) > except Exception, e: > self.log.warning("Socket server exception: %s" % str(e)) > self.log.warning("Attempt to initialize HTTP server > failed. Will wait 60s and try again.") > time.sleep(60) > > def run(self): > self.log.info ("Initializing HTTP server...") > self._init_socketserver() > > os.chdir(self.docroot) > self.log.debug("Changing working dir to %s"% self.docroot) > while not self.stopevent.isSet(): > try: > self.httpd.serve_forever() > except Exception, e: > self.log.error("HTTP Server threw exception: %s" % str(e)) > > ----------------------------------------------------------------------------------------------------------------------------- > > [2] > > > Traceback (most recent call last): > File "/usr/lib64/python2.6/SocketServer.py", line 283, in > _handle_request_noblock > self.process_request(request, client_address) > File "/usr/lib64/python2.6/SocketServer.py", line 309, in > process_request > self.finish_request(request, client_address) > File "/usr/lib64/python2.6/SocketServer.py", line 322, in finish_request > self.RequestHandlerClass(request, client_address, self) > File "/usr/lib64/python2.6/SocketServer.py", line 617, in __init__ > self.handle() > File "/usr/lib64/python2.6/BaseHTTPServer.py", line 329, in handle > self.handle_one_request() > File "/usr/lib64/python2.6/BaseHTTPServer.py", line 323, in > handle_one_request > method() > File "/usr/lib64/python2.6/SimpleHTTPServer.py", line 44, in do_GET > f = self.send_head() > File "/usr/lib64/python2.6/SimpleHTTPServer.py", line 81, in send_head > return self.list_directory(path) > File "/usr/lib64/python2.6/SimpleHTTPServer.py", line 134, in > list_directory > self.send_response(200) > File "/usr/lib64/python2.6/BaseHTTPServer.py", line 382, in > send_response > (self.protocol_version, code, message)) > File "/usr/lib64/python2.6/socket.py", line 324, in write > self.flush() > File "/usr/lib64/python2.6/socket.py", line 303, in flush > self._sock.sendall(buffer(data, write_offset, buffer_size)) > error: [Errno 104] Connection reset by peer > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rapto en arrakis.es Wed Dec 12 09:45:45 2012 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Wed, 12 Dec 2012 09:45:45 +0100 Subject: [Python-es] try - except no captura Traceback In-Reply-To: <50C8388B.8080507@arrakis.es> References: <50C8388B.8080507@arrakis.es> Message-ID: <50C84439.1010106@arrakis.es> Este mensaje no ayudaba mucho... Creo que hay try/except más interno que gestiona esa excepción, sacando la información por pantalla, pero no tengo tiempo de mirarlo... El 12/12/12 08:55, Marcos Sánchez Provencio escribió: > Puede ser simplemente que el cliente cancela la recepción... Otra cosa > es que eso te tumbe el servidor. > > El 11/12/12 21:45, Jose Caballero escribió: >> Hola, >> >> python 2.6 en RHEL 6 >> >> tengo un codigo como este [1]. >> Esta dentro de un thread con la intencion de arrancar un servidor HTTP. >> Suele funcionar bien casi el 100% del tiempo. >> Sin embargo, de vez en cuando, me encuentro este Traceback en la >> consola [2] >> Evidentemente tengo que trabajarme un poco la logica del thread. >> Pero lo que me gustaria saber, y por eso pregunto aqui, es por que >> ese Traceback no es capturado por el bloque try - except que contiene >> a self.httpd.serve_forever() >> No lo captura, y por tanto tampoco veo en los ficheros de logs el >> mensaje "HTTP Server threw exception: [Errno 104] Connection reset >> by peer" >> Nota curiosa, si tengo en los logs otros mensajes, como "HTTP Server >> threw exception: [Errno 5] Input/output error", que vienen del mismo >> try - except. >> Por que ese try - except es capaz de capturar el Err 5, pero no el 104? >> >> Cualquier comentario y/o documentacion sobre esto sera mas que >> bienvenida. >> >> Saludos, >> Jose (perdon por la ausencia de tildes) >> >> ----------------------------------------------------------------------------------------------------------------------------- >> >> [1] >> >> >> def _init_socketserver(self): >> while not self.httpd: >> try: >> self.log.debug("Attempting to bind to socket for HTTP >> server on port %s" % self.port) >> self.httpd = SocketServer.TCPServer(("", self.port), >> self.handler) >> self.log.info ("Initialized HTTP SocketServer >> port=%d, root=%s, index = %s" % (self.port, >> self.docroot, >> self.index)) >> except Exception, e: >> self.log.warning("Socket server exception: %s" % str(e)) >> self.log.warning("Attempt to initialize HTTP server >> failed. Will wait 60s and try again.") >> time.sleep(60) >> >> def run(self): >> self.log.info ("Initializing HTTP server...") >> self._init_socketserver() >> >> os.chdir(self.docroot) >> self.log.debug("Changing working dir to %s"% self.docroot) >> while not self.stopevent.isSet(): >> try: >> self.httpd.serve_forever() >> except Exception, e: >> self.log.error("HTTP Server threw exception: %s" % >> str(e)) >> >> ----------------------------------------------------------------------------------------------------------------------------- >> >> [2] >> >> >> Traceback (most recent call last): >> File "/usr/lib64/python2.6/SocketServer.py", line 283, in >> _handle_request_noblock >> self.process_request(request, client_address) >> File "/usr/lib64/python2.6/SocketServer.py", line 309, in >> process_request >> self.finish_request(request, client_address) >> File "/usr/lib64/python2.6/SocketServer.py", line 322, in >> finish_request >> self.RequestHandlerClass(request, client_address, self) >> File "/usr/lib64/python2.6/SocketServer.py", line 617, in __init__ >> self.handle() >> File "/usr/lib64/python2.6/BaseHTTPServer.py", line 329, in handle >> self.handle_one_request() >> File "/usr/lib64/python2.6/BaseHTTPServer.py", line 323, in >> handle_one_request >> method() >> File "/usr/lib64/python2.6/SimpleHTTPServer.py", line 44, in do_GET >> f = self.send_head() >> File "/usr/lib64/python2.6/SimpleHTTPServer.py", line 81, in send_head >> return self.list_directory(path) >> File "/usr/lib64/python2.6/SimpleHTTPServer.py", line 134, in >> list_directory >> self.send_response(200) >> File "/usr/lib64/python2.6/BaseHTTPServer.py", line 382, in >> send_response >> (self.protocol_version, code, message)) >> File "/usr/lib64/python2.6/socket.py", line 324, in write >> self.flush() >> File "/usr/lib64/python2.6/socket.py", line 303, in flush >> self._sock.sendall(buffer(data, write_offset, buffer_size)) >> error: [Errno 104] Connection reset by peer >> >> > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ricardo.cardenes en gmail.com Wed Dec 12 11:18:31 2012 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes?=) Date: Wed, 12 Dec 2012 10:18:31 +0000 Subject: [Python-es] try - except no captura Traceback In-Reply-To: <50C84439.1010106@arrakis.es> References: <50C8388B.8080507@arrakis.es> <50C84439.1010106@arrakis.es> Message-ID: Básicamente es eso. BaseHTTPServer lo ejecuta alguna clase derivada de SocketServer, que está pensado para correr continuamente, así que SocketServer._handle_request_noblock captura todas las excepciones no tratadas más abajo y hace dos cosas en caso de que algo ocurra: - trata la excepción llamando a self.handle_error - da por terminada la petición llamando a self.shutdown_request AMBAS se pueden reimplementar. La implementación base (SocketServer.handle_error) sólo registra el error indicando la dirección del cliente con el que estaba hablando y haciendo un traceback.print_exc(). De todas maneras, cuando se llama a handle_error ya es muy tarde para hacer nada que no sea registrar el error y quizá liberar recursos, pero en principio da igual, ya que estamos hablando de conexiones HTTP, que son stateless... 2012/12/12 Marcos Sánchez Provencio > Este mensaje no ayudaba mucho... > > Creo que hay try/except más interno que gestiona esa excepción, sacando la > información por pantalla, pero no tengo tiempo de mirarlo... > > El 12/12/12 08:55, Marcos Sánchez Provencio escribió: > > Puede ser simplemente que el cliente cancela la recepción... Otra cosa es > que eso te tumbe el servidor. > > El 11/12/12 21:45, Jose Caballero escribió: > > Hola, > > python 2.6 en RHEL 6 > > tengo un codigo como este [1]. > Esta dentro de un thread con la intencion de arrancar un servidor HTTP. > Suele funcionar bien casi el 100% del tiempo. > Sin embargo, de vez en cuando, me encuentro este Traceback en la consola > [2] > Evidentemente tengo que trabajarme un poco la logica del thread. > Pero lo que me gustaria saber, y por eso pregunto aqui, es por que ese > Traceback no es capturado por el bloque try - except que contiene a > self.httpd.serve_forever() > No lo captura, y por tanto tampoco veo en los ficheros de logs el mensaje > "HTTP Server threw exception: [Errno 104] Connection reset by peer" > Nota curiosa, si tengo en los logs otros mensajes, como "HTTP Server threw > exception: [Errno 5] Input/output error", que vienen del mismo try - except. > Por que ese try - except es capaz de capturar el Err 5, pero no el 104? > > Cualquier comentario y/o documentacion sobre esto sera mas que bienvenida. > > Saludos, > Jose (perdon por la ausencia de tildes) > > > ----------------------------------------------------------------------------------------------------------------------------- > > [1] > > > def _init_socketserver(self): > while not self.httpd: > try: > self.log.debug("Attempting to bind to socket for HTTP > server on port %s" % self.port) > self.httpd = SocketServer.TCPServer(("", self.port), > self.handler) > self.log.info("Initialized HTTP SocketServer port=%d, > root=%s, index = %s" % (self.port, > > self.docroot, > > self.index)) > except Exception, e: > self.log.warning("Socket server exception: %s" % str(e)) > self.log.warning("Attempt to initialize HTTP server > failed. Will wait 60s and try again.") > time.sleep(60) > > def run(self): > self.log.info("Initializing HTTP server...") > self._init_socketserver() > > os.chdir(self.docroot) > self.log.debug("Changing working dir to %s"% self.docroot) > while not self.stopevent.isSet(): > try: > self.httpd.serve_forever() > except Exception, e: > self.log.error("HTTP Server threw exception: %s" % str(e)) > > > ----------------------------------------------------------------------------------------------------------------------------- > > [2] > > > Traceback (most recent call last): > File "/usr/lib64/python2.6/SocketServer.py", line 283, in > _handle_request_noblock > self.process_request(request, client_address) > File "/usr/lib64/python2.6/SocketServer.py", line 309, in process_request > self.finish_request(request, client_address) > File "/usr/lib64/python2.6/SocketServer.py", line 322, in finish_request > self.RequestHandlerClass(request, client_address, self) > File "/usr/lib64/python2.6/SocketServer.py", line 617, in __init__ > self.handle() > File "/usr/lib64/python2.6/BaseHTTPServer.py", line 329, in handle > self.handle_one_request() > File "/usr/lib64/python2.6/BaseHTTPServer.py", line 323, in > handle_one_request > method() > File "/usr/lib64/python2.6/SimpleHTTPServer.py", line 44, in do_GET > f = self.send_head() > File "/usr/lib64/python2.6/SimpleHTTPServer.py", line 81, in send_head > return self.list_directory(path) > File "/usr/lib64/python2.6/SimpleHTTPServer.py", line 134, in > list_directory > self.send_response(200) > File "/usr/lib64/python2.6/BaseHTTPServer.py", line 382, in send_response > (self.protocol_version, code, message)) > File "/usr/lib64/python2.6/socket.py", line 324, in write > self.flush() > File "/usr/lib64/python2.6/socket.py", line 303, in flush > self._sock.sendall(buffer(data, write_offset, buffer_size)) > error: [Errno 104] Connection reset by peer > > > > > > _______________________________________________ > Python-es mailing listPython-es en python.orghttp://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jcaballero.hep en gmail.com Wed Dec 12 16:35:51 2012 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Wed, 12 Dec 2012 10:35:51 -0500 Subject: [Python-es] try - except no captura Traceback In-Reply-To: References: <50C8388B.8080507@arrakis.es> <50C84439.1010106@arrakis.es> Message-ID: El 12 de diciembre de 2012 05:18, Ricardo Cárdenes < ricardo.cardenes en gmail.com> escribió: > Básicamente es eso. BaseHTTPServer lo ejecuta alguna clase derivada de > SocketServer, que está pensado para correr continuamente, así que > SocketServer._handle_request_noblock captura todas las excepciones no > tratadas más abajo y hace dos cosas en caso de que algo ocurra: > > - trata la excepción llamando a self.handle_error > > Correcto. No lo vi. Mea culpa. Muchas gracias. Saludos. Jose ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From foroq en torricelli.cl Wed Dec 12 22:13:17 2012 From: foroq en torricelli.cl (foroq en torricelli.cl) Date: Wed, 12 Dec 2012 18:13:17 -0300 Subject: [Python-es] RV: confirm 308fcdcc8b49397ca3ecf1067 Message-ID: <000001cdd8ad$8363a5a0$8a2af0e0$@cl> Estimados(as). Cada 5 días recibo un mensaje como este, aunque confirme la subscripción lo vuelvo a recibir. ¿Qué es lo que se debe hacer en este caso? Gracias. Mario Cortés -----Mensaje original----- De: Python-es [mailto:python-es-bounces+foroq=torricelli.cl en python.org] En nombre de python-es-request en python.org Enviado el: martes, 11 de diciembre de 2012 20:35 Para: foroq en torricelli.cl Asunto: confirm 308fcdcc8b49397ca3ecf1067 Su subscripción a la lista de distribución Python-es se ha inhabilitado due to excessive bounces The last bounce received from you was dated 12-Dec-2012. No obtendrá ningún mensaje más de esta lista hasta que rehabilite su subscripción. Recibirá 3 recordatorios como este antes de que se borre su subscripción a la lista. From pych3m4 en gmail.com Thu Dec 13 09:23:58 2012 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 13 Dec 2012 09:23:58 +0100 Subject: [Python-es] RV: confirm 308fcdcc8b49397ca3ecf1067 In-Reply-To: <000001cdd8ad$8363a5a0$8a2af0e0$@cl> References: <000001cdd8ad$8363a5a0$8a2af0e0$@cl> Message-ID: El día 12 de diciembre de 2012 22:13, escribió: > Estimados(as). > > Cada 5 días recibo un mensaje como este, aunque confirme la subscripción lo > vuelvo a recibir. > ¿Qué es lo que se debe hacer en este caso? Todos los problemas derivados con la lista deberían ir a la dirección python-es-owner en python.org En tu caso concreto, cada 6 ó 7 días, se produce un error prolongado con tu correo que desabilita tu subcripción de la lista. Aunque te resubscribas, el error se vuelve a producir al cabo de unos días. No podemos hacer otra cosa que sugerirte que te subscribas con otra cuenta de correo si se siguen produciendo estos problemas. -- Chema Cortés (Admin de python-es) From cm.agullo en gmail.com Mon Dec 17 18:13:00 2012 From: cm.agullo en gmail.com (=?ISO-8859-1?Q?Carlos_Agull=F3_Calvo?=) Date: Mon, 17 Dec 2012 18:13:00 +0100 Subject: [Python-es] =?iso-8859-1?q?Duda_con_funci=F3n_M=2Ec=2Ed=2E?= Message-ID: Buenas tardes, practicando un poco python en la página de projecteuler he visto la siguiente función: def Mcd(a,b): return b and Mcd(b, a % b) or a pero no entiendo cómo funciona, ¿alguien podría explicármelo? Muchas gracias por adelantado ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jcaballero.hep en gmail.com Mon Dec 17 18:45:43 2012 From: jcaballero.hep en gmail.com (Jose Caballero) Date: Mon, 17 Dec 2012 12:45:43 -0500 Subject: [Python-es] =?iso-8859-1?q?Duda_con_funci=F3n_M=2Ec=2Ed=2E?= In-Reply-To: References: Message-ID: es una funcion recursiva. En cada paso, si b no es 0, devuelve el max comun denominador de b y el resto de a entre b. Si b es 0, devuelve a. El 17 de diciembre de 2012 12:13, Carlos Agulló Calvo escribió: > Buenas tardes, > > practicando un poco python en la página de projecteuler he visto la > siguiente función: > > def Mcd(a,b): return b and Mcd(b, a % b) or a > > pero no entiendo cómo funciona, ¿alguien podría explicármelo? > Muchas gracias por adelantado > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From nadaird en gmail.com Mon Dec 17 20:25:51 2012 From: nadaird en gmail.com (G V) Date: Mon, 17 Dec 2012 20:25:51 +0100 Subject: [Python-es] =?iso-8859-1?q?Duda_con_funci=F3n_M=2Ec=2Ed=2E?= In-Reply-To: References: Message-ID: Además de mirar acerca de la recursividad, te recomiendo hacer pruebas con distintos valores y el operador or: None or 5 5 or None '' or 'hi' Etc. El 17/12/2012 18:46, "Jose Caballero" escribió: > es una funcion recursiva. > En cada paso, si b no es 0, devuelve el max comun denominador de b y el > resto de a entre b. Si b es 0, devuelve a. > > > > El 17 de diciembre de 2012 12:13, Carlos Agulló Calvo > escribió: > >> Buenas tardes, >> >> practicando un poco python en la página de projecteuler he visto la >> siguiente función: >> >> def Mcd(a,b): return b and Mcd(b, a % b) or a >> >> pero no entiendo cómo funciona, ¿alguien podría explicármelo? >> Muchas gracias por adelantado >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From e1987ebrb en gmail.com Mon Dec 17 21:29:52 2012 From: e1987ebrb en gmail.com (=?UTF-8?B?RWxpbyBSaW5jw7Nu?=) Date: Mon, 17 Dec 2012 15:59:52 -0430 Subject: [Python-es] =?utf-8?b?RHVkYSBjb24gZnVuY2nDs24gTS5jLmQu?= In-Reply-To: References: Message-ID: Un pequeño aporte para ayudarnos. Cualquier sugerencía es aceptada. In [116]: def f(a, b): return a and b or 7 .....: In [117]: f(0, 1) Out[117]: 7 In [118]: f(0, 0) Out[118]: 7 In [129]: f(2, 0) Out[129]: 7 In [120]: f(2, 1) Out[120]: 1 In [121]: f(2, 8) Out[121]: 8 In [122]: def f(a, b): return (a and b) or 7 .....: In [123]: f(0, 1) Out[123]: 7 In [124]: f(0, 0) Out[124]: 7 In [127]: f(2, 0) Out[127]: 7 In [125]: f(2, 1) Out[125]: 1 In [126]: f(2, 8) Out[126]: 8 Como puedes ver, si a y b son distintos de cero entonces retorna b, de lo contrario retorna 7. Saludos. El 17 de diciembre de 2012 14:55, G V escribió: > Además de mirar acerca de la recursividad, te recomiendo hacer pruebas con > distintos valores y el operador or: > None or 5 > 5 or None > '' or 'hi' > Etc. > El 17/12/2012 18:46, "Jose Caballero" escribió: > > es una funcion recursiva. >> En cada paso, si b no es 0, devuelve el max comun denominador de b y el >> resto de a entre b. Si b es 0, devuelve a. >> >> >> >> El 17 de diciembre de 2012 12:13, Carlos Agulló Calvo < >> cm.agullo en gmail.com> escribió: >> >>> Buenas tardes, >>> >>> practicando un poco python en la página de projecteuler he visto la >>> siguiente función: >>> >>> def Mcd(a,b): return b and Mcd(b, a % b) or a >>> >>> pero no entiendo cómo funciona, ¿alguien podría explicármelo? >>> Muchas gracias por adelantado >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ailurus.fulgens en hotmail.com Tue Dec 18 03:09:45 2012 From: ailurus.fulgens en hotmail.com (xiao xiong mao panda rojo) Date: Mon, 17 Dec 2012 21:09:45 -0500 Subject: [Python-es] =?iso-8859-1?q?Duda_con_funci=F3n_M=2Ec=2Ed=2E?= In-Reply-To: References: Message-ID: wau no sabia que se podía usar AND y OR de ese modo dicen k iterar es humano y la recursividad divina nunca entendí bien como usarla creo k debo comenzar XD From: cm.agullo en gmail.com Date: Mon, 17 Dec 2012 18:13:00 +0100 To: python-es en python.org Subject: [Python-es] Duda con función M.c.d. Buenas tardes, practicando un poco python en la página de projecteuler he visto la siguiente función: def Mcd(a,b): return b and Mcd(b, a % b) or a pero no entiendo cómo funciona, ¿alguien podría explicármelo?Muchas gracias por adelantado _______________________________________________ Python-es mailing list Python-es en python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From manuelcortez00 en gmail.com Mon Dec 17 22:44:31 2012 From: manuelcortez00 en gmail.com (manuel) Date: Mon, 17 Dec 2012 21:44:31 +0000 Subject: [Python-es] Problema con py2exe y pywin32 al usar SAPI5 Message-ID: <50CF923F.4020205@gmail.com> Hola, Verán, estoy desarrollando una aplicación de aprendizaje de teclado mediante voz. Para esto, uso python-gi en Debian, que conecta con gtk3, y Pygtk en Windows. El tema de la voz lo llevo diferente en cada plataforma, ya que en Debian puedo disponer de Speech Dispatcher, y en Windows acceder a Microsoft SAPI 5, mediante pywin32. La aplicación funciona muy bien en Debian, y si no se compila, también en Windows. El problema viene al intentar generar una versión compilada o distribuible (no es como si le entregues el programa a un usuario, además de tener que instalarle python, pywin32, pygtk, pyGObject, etc, etc, etc). Para esto uso py2exe. Antes que nada, adjunto una parte del código de lo que uso para tomar la voz de SAPI5, porque creo que ahí está el problema. Si alguien cree que no, puedo poner lo que sea de código. Esto es lo que uso de pywin32: import win32com.client from win32com.client import Dispatch as dispatch from win32com.client import constants clas speak() # inicializaciones y cosas así self.tts = dispatch("SAPI.SpVoice") ... def say(self, text, stopSignal=0): if stopSignal == 0: self.tts.Speak("", constants.SVSFPurgeBeforeSpeak) self.tts.Speak(text, 1) Bueno, el detalle funciona. El stopSignal me dice si la aplicación que llama al tts quiere interrumpir la voz si hay algo que se esté ejecutando de lo mismo, si no es 0, se espera a que termine de decir lo que decía, y si es diferente, lo detiene y corta el habla para comenzar él. Aquí, lo que uso de constants es la constante SVSFPurgeBeforeSpeak, y a continuación sigo con el problema. Todo funciona excelente siempre y cuando lo ejecute desde Python con todo instalado, pero, al compilarlo con py2exe, el programa se ejecuta, al menos la ventana, y cuando debería empezar a hablar, no lo hace, y me escribe un archivo con errores, este es el contenido del archivo: Traceback (most recent call last): File "gtk_main.py", line 39, in say_widget File "tts.pyc", line 31, in say File "win32com\client\__init__.pyc", line 170, in __getattr__ AttributeError: SVSFPurgeBeforeSpeak Y este el archivo setup.py, que usé para la compilación: setup(name="DANI", version="0.91-alfa2", description="Asistente de aprendizaje de teclado", author="Manuel Cortez", author_email="manuelcortez00 en gmail.com", url="http://code.google.com/p/wcalc", license="GPL", scripts=["tts.py", "keyboardexplorer.py", "about.py", "lesson.py"], windows = ["gtk_main.py"], options={'py2exe': dict(includes=['cairo', 'gio', 'pango', 'pangocairo', 'atk', 'win32com'],)}) Alguien sabe qué sucede? según sé, todo está aparentemente bien, pero no funciona. El programa, repito, funciona si lo ejecuto con el intérprete Python que está instalado en el sistema. Agradezco cualquier ayuda que me pudieran dar. Leí algo en google, pero nada hablaba del uso de SAPI con Python. Gracias. From pych3m4 en gmail.com Tue Dec 18 10:14:09 2012 From: pych3m4 en gmail.com (Chema Cortes) Date: Tue, 18 Dec 2012 10:14:09 +0100 Subject: [Python-es] Problema con py2exe y pywin32 al usar SAPI5 In-Reply-To: <50CF923F.4020205@gmail.com> References: <50CF923F.4020205@gmail.com> Message-ID: El día 17 de diciembre de 2012 22:44, manuel escribió: > Todo funciona excelente siempre y cuando lo ejecute desde Python con todo > instalado, pero, al compilarlo con py2exe, el programa se ejecuta, al menos > la ventana, y cuando debería empezar a hablar, no lo hace, y me escribe un > archivo con errores, este es el contenido del archivo: > > Traceback (most recent call last): > File "gtk_main.py", line 39, in say_widget > File "tts.pyc", line 31, in say > File "win32com\client\__init__.pyc", line 170, in __getattr__ > AttributeError: SVSFPurgeBeforeSpeak Tal vez aquí tengas la explicación (además pone SAPI como ejemplo): http://www.py2exe.org/index.cgi/UsingEnsureDispatch -- Hyperreals *R: http://ch3m4.org/blog Quarks, bits y otras criaturas infinitesimales From juanlu001 en gmail.com Tue Dec 18 11:20:08 2012 From: juanlu001 en gmail.com (=?ISO-8859-1?Q?Juan_Luis_Cano_Rodr=EDguez?=) Date: Tue, 18 Dec 2012 11:20:08 +0100 Subject: [Python-es] =?iso-8859-1?q?=5BPyConES=5D_Resumen_del_2=BA_hangout?= =?iso-8859-1?q?_sobre_la_PyConES?= Message-ID: Buenos días a todos, ayer se celebró el segundo (y último) hangout para hablar sobre temas organizativos de la PyConES y la futura asociación Python España, que está a punto de nacer. En esta ocasión no se grabó ni se retrasmitió en directo, lo siento si alguien estaba interesado en seguir la conversación y no pudo asistir en ese momento. Fuimos solamente cuatro personas: Alberto Besana, Pablo Lobariñas, ?????? ????? (toma ya) y yo. Los temas que tocamos básicamente fueron: - *Lugar*: Las dos opciones más competitivas (en términos de precio) y firmes (en el sentido de compromiso de gente de la zona) en estos momentos son El Centro de Arte y Tecnología de Zaragoza y la Escuela Universitaria de Informática de la Universidad Politécnica de Madrid. Aunque contábamos con el compromiso de Javier Gutiérrez para la US, esta opción no es competitiva, y aunque hay diversos espacios en Barcelona, ninguna de esas opciones es firme. Tenemos que decidir en los próximos días o semanas entre estas dos opciones. - Pros de Zaragoza: Ventajas económicas en cuanto a transporte y alojamiento proporcionadas por el espacio. - Pros de Madrid: Bien comunicada, existe un núcleo importante de usuarios allí, más afluencia (?). Mi opinión en este punto es que, al ser esta la primera PyCon en España, en vista de las opciones que tenemos, que tenemos un núcleo duro de gente en Madrid que está participando activamente en la organización del evento y de que a la comunidad Python en este país le falta aún un poco de *cohesión*, será más conveniente celebrar la primera PyConES en Madrid, y cuando el año que viene se haya producido este encuentro entre entusiastas y profesionales del lenguaje y haya un tejido más sólido ir cambiando de sitio para ediciones sucesivas: Sevilla, Zaragoza, Barcelona, etcétera. - *Asociación*: Los estatutos y el reglamento *están terminados *y las versiones definitivas se han publicado ya, una vez que se pasó el plazo para hacer comentarios y sugerencias. Se acordó contactar con miembros activos de la comunidad de diferentes partes de España para invitarles a ser socios fundadores, de tal forma que la diversidad geográfica quede reflejada en la constitución de Python España. Como entendemos que es engorroso que se desplacen a Madrid solamente para firmar el acta fundacional, a menos que alguien tenga una propuesta mejor y como se sugirió hace unos días, se enviará el paquete de un punto a otro por correo certificado. Naturalmente este es un proceso delicado y se pedirá la máxima seriedad. Se fijará un plazo para compilar la lista de aquellos que firmarán el acta y se comenzarán a recoger las firmas en ese momento. Estas son las versiones definitivas de los estatutos y el reglamento, redactados por Pablo Lobariñas y corregidos por él con las aportaciones de otros miembros de la comunidad: https://docs.google.com/open?id=0B829xXJ6hlwIQmh4WW1sVWZDcGs https://docs.google.com/open?id=0B829xXJ6hlwIQ19NMzdSSmItQnc Creo que no se me olvida nada esta vez. Muchas gracias a los que estuvieron ayer y a los que, aunque no estuvieron, están ahí esperando saber cómo pueden ayudar :) Un saludo, Juan Luis Cano ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From cm.agullo en gmail.com Tue Dec 18 11:21:48 2012 From: cm.agullo en gmail.com (=?ISO-8859-1?Q?Carlos_Agull=F3_Calvo?=) Date: Tue, 18 Dec 2012 11:21:48 +0100 Subject: [Python-es] =?iso-8859-1?q?Duda_con_funci=F3n_M=2Ec=2Ed=2E?= In-Reply-To: References: Message-ID: Acabo de ver que es % no / así que sería 12, perdonad. pero si intento hacer MCD(36,48) sí que no lo veo El 18 de diciembre de 2012 11:19, Carlos Agulló Calvo escribió: > Disculpad, pero sigo sin entenderlo. > Si pongo MCD(48,36) sería: > 36 and MCD(36,1) or 48 que como MCD(36,1) es distinto de cero la respuesta > sería MCD(36,1) > Entonces pasaríamos a evaluar MCD(36,1) que sería: > 1 and MCD(1,36) or 36 si MCD fuera cero, la respuesta sería 36, si no > sería MCD(1,36) > Ahora, MCD (1,36) sería: > 36 and MCD(36,0) or 1 > > Según mi razonamiento nunca llegaría a 12, que es la solución que debería > dar, por lo que mi razonamiento falla, pero no veo dónde. > > Gracias > > > > > El 18 de diciembre de 2012 03:09, xiao xiong mao panda rojo < > ailurus.fulgens en hotmail.com> escribió: > > >> wau no sabia que se podía usar AND y OR de ese modo >> dicen k iterar es humano y la recursividad divina >> nunca entendí bien como usarla >> creo k debo comenzar XD >> ------------------------------ >> From: cm.agullo en gmail.com >> Date: Mon, 17 Dec 2012 18:13:00 +0100 >> To: python-es en python.org >> Subject: [Python-es] Duda con función M.c.d. >> >> >> Buenas tardes, >> >> practicando un poco python en la página de projecteuler he visto la >> siguiente función: >> >> def Mcd(a,b): return b and Mcd(b, a % b) or a >> >> pero no entiendo cómo funciona, ¿alguien podría explicármelo? >> Muchas gracias por adelantado >> >> _______________________________________________ Python-es mailing list >> Python-es en python.org http://mail.python.org/mailman/listinfo/python-esFAQ: >> http://python-es-faq.wikidot.com/ >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From luis.perez en neodoo.es Tue Dec 18 11:29:39 2012 From: luis.perez en neodoo.es (=?ISO-8859-1?Q?Luis_Alberto_P=E9rez_L=E1zaro?=) Date: Tue, 18 Dec 2012 11:29:39 +0100 Subject: [Python-es] =?iso-8859-1?q?=5BPyConES=5D_Resumen_del_2=BA_hangout?= =?iso-8859-1?q?_sobre_la_PyConES?= In-Reply-To: References: Message-ID: Lamentablemente ayer por problemas técnicos no pude asistir al hangout. Me hubiese gustado para haber podido hablar de las bondades de zaragoza como posible sede :). Si hace falta que pregunte alguna duda a la gente del ayuntamiento respecto al espacio que pueda ayudar a tomar la decisión, comentádmelo. Saludos, Luis El 18 de diciembre de 2012 11:20, Juan Luis Cano Rodríguez < juanlu001 en gmail.com> escribió: > Buenos días a todos, ayer se celebró el segundo (y último) hangout para > hablar sobre temas organizativos de la PyConES y la futura asociación > Python España, que está a punto de nacer. > > En esta ocasión no se grabó ni se retrasmitió en directo, lo siento si > alguien estaba interesado en seguir la conversación y no pudo asistir en > ese momento. Fuimos solamente cuatro personas: Alberto Besana, Pablo > Lobariñas, ?????? ????? (toma ya) y yo. > > Los temas que tocamos básicamente fueron: > > - *Lugar*: Las dos opciones más competitivas (en términos de precio) y > firmes (en el sentido de compromiso de gente de la zona) en estos momentos > son El Centro de Arte y Tecnología de Zaragoza y la Escuela Universitaria > de Informática de la Universidad Politécnica de Madrid. Aunque contábamos > con el compromiso de Javier Gutiérrez para la US, esta opción no es > competitiva, y aunque hay diversos espacios en Barcelona, ninguna de esas > opciones es firme. Tenemos que decidir en los próximos días o semanas entre > estas dos opciones. > - Pros de Zaragoza: Ventajas económicas en cuanto a transporte y > alojamiento proporcionadas por el espacio. > - Pros de Madrid: Bien comunicada, existe un núcleo importante de > usuarios allí, más afluencia (?). > > Mi opinión en este punto es que, al ser esta la primera PyCon en España, > en vista de las opciones que tenemos, que tenemos un núcleo duro de gente > en Madrid que está participando activamente en la organización del evento y > de que a la comunidad Python en este país le falta aún un poco de * > cohesión*, será más conveniente celebrar la primera PyConES en Madrid, y > cuando el año que viene se haya producido este encuentro entre entusiastas > y profesionales del lenguaje y haya un tejido más sólido ir cambiando de > sitio para ediciones sucesivas: Sevilla, Zaragoza, Barcelona, etcétera. > > - *Asociación*: Los estatutos y el reglamento *están terminados *y las > versiones definitivas se han publicado ya, una vez que se pasó el plazo > para hacer comentarios y sugerencias. Se acordó contactar con miembros > activos de la comunidad de diferentes partes de España para invitarles a > ser socios fundadores, de tal forma que la diversidad geográfica quede > reflejada en la constitución de Python España. Como entendemos que es > engorroso que se desplacen a Madrid solamente para firmar el acta > fundacional, a menos que alguien tenga una propuesta mejor y como se > sugirió hace unos días, se enviará el paquete de un punto a otro por correo > certificado. Naturalmente este es un proceso delicado y se pedirá la máxima > seriedad. Se fijará un plazo para compilar la lista de aquellos que > firmarán el acta y se comenzarán a recoger las firmas en ese momento. > > Estas son las versiones definitivas de los estatutos y el reglamento, > redactados por Pablo Lobariñas y corregidos por él con las aportaciones de > otros miembros de la comunidad: > > https://docs.google.com/open?id=0B829xXJ6hlwIQmh4WW1sVWZDcGs > https://docs.google.com/open?id=0B829xXJ6hlwIQ19NMzdSSmItQnc > > Creo que no se me olvida nada esta vez. Muchas gracias a los que > estuvieron ayer y a los que, aunque no estuvieron, están ahí esperando > saber cómo pueden ayudar :) > > Un saludo, > > Juan Luis Cano > > > -- > > > -- Departamento de Software E-mail: luis.perez en neodoo.es Móvil: 651 151 842 Blog: http://blog.neodoo.es/laperez ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From cm.agullo en gmail.com Tue Dec 18 11:19:27 2012 From: cm.agullo en gmail.com (=?ISO-8859-1?Q?Carlos_Agull=F3_Calvo?=) Date: Tue, 18 Dec 2012 11:19:27 +0100 Subject: [Python-es] =?iso-8859-1?q?Duda_con_funci=F3n_M=2Ec=2Ed=2E?= In-Reply-To: References: Message-ID: Disculpad, pero sigo sin entenderlo. Si pongo MCD(48,36) sería: 36 and MCD(36,1) or 48 que como MCD(36,1) es distinto de cero la respuesta sería MCD(36,1) Entonces pasaríamos a evaluar MCD(36,1) que sería: 1 and MCD(1,36) or 36 si MCD fuera cero, la respuesta sería 36, si no sería MCD(1,36) Ahora, MCD (1,36) sería: 36 and MCD(36,0) or 1 Según mi razonamiento nunca llegaría a 12, que es la solución que debería dar, por lo que mi razonamiento falla, pero no veo dónde. Gracias El 18 de diciembre de 2012 03:09, xiao xiong mao panda rojo < ailurus.fulgens en hotmail.com> escribió: > > wau no sabia que se podía usar AND y OR de ese modo > dicen k iterar es humano y la recursividad divina > nunca entendí bien como usarla > creo k debo comenzar XD > ------------------------------ > From: cm.agullo en gmail.com > Date: Mon, 17 Dec 2012 18:13:00 +0100 > To: python-es en python.org > Subject: [Python-es] Duda con función M.c.d. > > > Buenas tardes, > > practicando un poco python en la página de projecteuler he visto la > siguiente función: > > def Mcd(a,b): return b and Mcd(b, a % b) or a > > pero no entiendo cómo funciona, ¿alguien podría explicármelo? > Muchas gracias por adelantado > > _______________________________________________ Python-es mailing list > Python-es en python.org http://mail.python.org/mailman/listinfo/python-esFAQ: > http://python-es-faq.wikidot.com/ > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From e1987ebrb en gmail.com Tue Dec 18 12:31:06 2012 From: e1987ebrb en gmail.com (=?UTF-8?B?RWxpbyBSaW5jw7Nu?=) Date: Tue, 18 Dec 2012 07:01:06 -0430 Subject: [Python-es] =?utf-8?b?RHVkYSBjb24gZnVuY2nDs24gTS5jLmQu?= In-Reply-To: References: Message-ID: Tienes que llevar la ejecución del programa paso a paso en cada iteración, crear un modelo o algo que te permita ver la logica y ejecución de una forma en la que puedas entenderlo mejor. Aquí te dejo un ejemplo: MCD(36, 48) > def Mcd(a,b): return b and Mcd(b, a % b) or a A B Condición MCD(B, A%B) 36 48 se cumple MCD(48, 36%48) 48 (36%48)=36 se cumple MCD(36, 48%36) 36 (48%36)=12 se cumple MCD(12, 36%12) 12 (36%12)=0 no se cumple retorna A=12 El 18 de diciembre de 2012 05:51, Carlos Agulló Calvo escribió: > Acabo de ver que es % no / así que sería 12, perdonad. > pero si intento hacer MCD(36,48) sí que no lo veo > > > > El 18 de diciembre de 2012 11:19, Carlos Agulló Calvo > escribió: > > Disculpad, pero sigo sin entenderlo. >> Si pongo MCD(48,36) sería: >> 36 and MCD(36,1) or 48 que como MCD(36,1) es distinto de cero la >> respuesta sería MCD(36,1) >> Entonces pasaríamos a evaluar MCD(36,1) que sería: >> 1 and MCD(1,36) or 36 si MCD fuera cero, la respuesta sería 36, si no >> sería MCD(1,36) >> Ahora, MCD (1,36) sería: >> 36 and MCD(36,0) or 1 >> >> Según mi razonamiento nunca llegaría a 12, que es la solución que debería >> dar, por lo que mi razonamiento falla, pero no veo dónde. >> >> Gracias >> >> >> >> >> El 18 de diciembre de 2012 03:09, xiao xiong mao panda rojo < >> ailurus.fulgens en hotmail.com> escribió: >> >> >>> wau no sabia que se podía usar AND y OR de ese modo >>> dicen k iterar es humano y la recursividad divina >>> nunca entendí bien como usarla >>> creo k debo comenzar XD >>> ------------------------------ >>> From: cm.agullo en gmail.com >>> Date: Mon, 17 Dec 2012 18:13:00 +0100 >>> To: python-es en python.org >>> Subject: [Python-es] Duda con función M.c.d. >>> >>> >>> Buenas tardes, >>> >>> practicando un poco python en la página de projecteuler he visto la >>> siguiente función: >>> >>> def Mcd(a,b): return b and Mcd(b, a % b) or a >>> >>> pero no entiendo cómo funciona, ¿alguien podría explicármelo? >>> Muchas gracias por adelantado >>> >>> _______________________________________________ Python-es mailing list >>> Python-es en python.org http://mail.python.org/mailman/listinfo/python-esFAQ: >>> http://python-es-faq.wikidot.com/ >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ricardo.cardenes en gmail.com Tue Dec 18 12:31:42 2012 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes?=) Date: Tue, 18 Dec 2012 11:31:42 +0000 Subject: [Python-es] =?iso-8859-1?q?Duda_con_funci=F3n_M=2Ec=2Ed=2E?= In-Reply-To: References: Message-ID: Es la manera de trabajar de "and" y "or" en Python: en lugar de devolver "True" o "False", que sería lo suyo, devuelven el operando que decide el resultado, o lo que es lo mismo: - para AND, el primer operando si es nulo; el segundo en caso contrario - para OR, el primer operando si NO es nulo; el segundo en caso contrario Esto te permite hacer hacks de lo más interesantes, pero también cagadas monumentales si no tenemos en cuenta la semántica exacta de lo que estamos haciendo (por ejemplo, si uno de los valores que queremos devolver es nulo (0, None, etc), se nos estropea la cosa. Que normalmente se resuelve así: ([a] and [b] or [c])[0] o similares. De todas maneras, con las nuevas versiones de Python prefiero usar el: (a if condición else b) y me dejo de tonterías. 2012/12/18 xiao xiong mao panda rojo > > wau no sabia que se podía usar AND y OR de ese modo > dicen k iterar es humano y la recursividad divina > nunca entendí bien como usarla > creo k debo comenzar XD > ------------------------------ > From: cm.agullo en gmail.com > Date: Mon, 17 Dec 2012 18:13:00 +0100 > To: python-es en python.org > Subject: [Python-es] Duda con función M.c.d. > > > Buenas tardes, > > practicando un poco python en la página de projecteuler he visto la > siguiente función: > > def Mcd(a,b): return b and Mcd(b, a % b) or a > > pero no entiendo cómo funciona, ¿alguien podría explicármelo? > Muchas gracias por adelantado > > _______________________________________________ Python-es mailing list > Python-es en python.org http://mail.python.org/mailman/listinfo/python-esFAQ: > http://python-es-faq.wikidot.com/ > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From rapto en arrakis.es Tue Dec 18 12:45:47 2012 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Tue, 18 Dec 2012 12:45:47 +0100 Subject: [Python-es] =?iso-8859-1?q?Duda_con_funci=F3n_M=2Ec=2Ed=2E?= In-Reply-To: References: Message-ID: <50D0576B.1030107@arrakis.es> Recomiendo http://www.pythontutor.com/visualize.html# para este tipo de enjuagues El 18/12/12 12:31, Elio Rincón escribió: > Tienes que llevar la ejecución del programa paso a paso en cada > iteración, crear un modelo o algo que te permita ver la logica y > ejecución de una forma en la que puedas entenderlo mejor. > > Aquí te dejo un ejemplo: > > MCD(36, 48) > def Mcd(a,b): return b and Mcd(b, a % b) or a > > ABCondiciónMCD(B, A%B) > 3648se cumpleMCD(48, 36%48) > 48(36%48)=36se cumpleMCD(36, 48%36) > 36(48%36)=12se cumpleMCD(12, 36%12) > 12(36%12)=0no se cumpleretorna A=12 > > > > > El 18 de diciembre de 2012 05:51, Carlos Agulló Calvo > > escribió: > > Acabo de ver que es % no / así que sería 12, perdonad. > pero si intento hacer MCD(36,48) sí que no lo veo > > > > El 18 de diciembre de 2012 11:19, Carlos Agulló Calvo > > escribió: > > Disculpad, pero sigo sin entenderlo. > Si pongo MCD(48,36) sería: > 36 and MCD(36,1) or 48 que como MCD(36,1) es distinto de cero > la respuesta sería MCD(36,1) > Entonces pasaríamos a evaluar MCD(36,1) que sería: > 1 and MCD(1,36) or 36 si MCD fuera cero, la respuesta sería > 36, si no sería MCD(1,36) > Ahora, MCD (1,36) sería: > 36 and MCD(36,0) or 1 > > Según mi razonamiento nunca llegaría a 12, que es la solución > que debería dar, por lo que mi razonamiento falla, pero no veo > dónde. > > Gracias > > > > > El 18 de diciembre de 2012 03:09, xiao xiong mao panda rojo > > escribió: > > > wau no sabia que se podía usar AND y OR de ese modo > dicen k iterar es humano y la recursividad divina > nunca entendí bien como usarla > creo k debo comenzar XD > ------------------------------------------------------------------------ > From: cm.agullo en gmail.com > Date: Mon, 17 Dec 2012 18:13:00 +0100 > To: python-es en python.org > Subject: [Python-es] Duda con función M.c.d. > > > Buenas tardes, > > practicando un poco python en la página de projecteuler he > visto la siguiente función: > > def Mcd(a,b): return b and Mcd(b, a % b) or a > > pero no entiendo cómo funciona, ¿alguien podría explicármelo? > Muchas gracias por adelantado > > _______________________________________________ Python-es > mailing list Python-es en python.org > > http://mail.python.org/mailman/listinfo/python-es FAQ: > http://python-es-faq.wikidot.com/ > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From e1987ebrb en gmail.com Tue Dec 18 13:00:08 2012 From: e1987ebrb en gmail.com (=?UTF-8?B?RWxpbyBSaW5jw7Nu?=) Date: Tue, 18 Dec 2012 07:30:08 -0430 Subject: [Python-es] =?utf-8?b?RHVkYSBjb24gZnVuY2nDs24gTS5jLmQu?= In-Reply-To: <50D0576B.1030107@arrakis.es> References: <50D0576B.1030107@arrakis.es> Message-ID: http://www.pythontutor.com/visualize.html#code=def+Mcd(a,b)%3A+return+b+and+Mcd(b,+a+%25+b)+or+a%0A%0AMcd(36,+48)&mode=display&cumulative=false&py=2&curInstr=6 Gracias por el dato, Muy bueno. El 18 de diciembre de 2012 07:15, Marcos Sánchez Provencio escribió: > Recomiendo http://www.pythontutor.com/visualize.html# para este tipo de > enjuagues > > El 18/12/12 12:31, Elio Rincón escribió: > > Tienes que llevar la ejecución del programa paso a paso en cada iteración, > crear un modelo o algo que te permita ver la logica y ejecución de una > forma en la que puedas entenderlo mejor. > > Aquí te dejo un ejemplo: > > MCD(36, 48) > def Mcd(a,b): return b and Mcd(b, a % b) or a > > A B Condición MCD(B, A%B) > 36 48 se cumple MCD(48, 36%48) > 48 (36%48)=36 se cumple MCD(36, 48%36) > 36 (48%36)=12 se cumple MCD(12, 36%12) > 12 (36%12)=0 no se cumple retorna A=12 > > > > > El 18 de diciembre de 2012 05:51, Carlos Agulló Calvo > escribió: > >> Acabo de ver que es % no / así que sería 12, perdonad. >> pero si intento hacer MCD(36,48) sí que no lo veo >> >> >> >> El 18 de diciembre de 2012 11:19, Carlos Agulló Calvo < >> cm.agullo en gmail.com> escribió: >> >> Disculpad, pero sigo sin entenderlo. >>> Si pongo MCD(48,36) sería: >>> 36 and MCD(36,1) or 48 que como MCD(36,1) es distinto de cero la >>> respuesta sería MCD(36,1) >>> Entonces pasaríamos a evaluar MCD(36,1) que sería: >>> 1 and MCD(1,36) or 36 si MCD fuera cero, la respuesta sería 36, si no >>> sería MCD(1,36) >>> Ahora, MCD (1,36) sería: >>> 36 and MCD(36,0) or 1 >>> >>> Según mi razonamiento nunca llegaría a 12, que es la solución que >>> debería dar, por lo que mi razonamiento falla, pero no veo dónde. >>> >>> Gracias >>> >>> >>> >>> >>> El 18 de diciembre de 2012 03:09, xiao xiong mao panda rojo < >>> ailurus.fulgens en hotmail.com> escribió: >>> >>> >>>> wau no sabia que se podía usar AND y OR de ese modo >>>> dicen k iterar es humano y la recursividad divina >>>> nunca entendí bien como usarla >>>> creo k debo comenzar XD >>>> ------------------------------ >>>> From: cm.agullo en gmail.com >>>> Date: Mon, 17 Dec 2012 18:13:00 +0100 >>>> To: python-es en python.org >>>> Subject: [Python-es] Duda con función M.c.d. >>>> >>>> >>>> Buenas tardes, >>>> >>>> practicando un poco python en la página de projecteuler he visto la >>>> siguiente función: >>>> >>>> def Mcd(a,b): return b and Mcd(b, a % b) or a >>>> >>>> pero no entiendo cómo funciona, ¿alguien podría explicármelo? >>>> Muchas gracias por adelantado >>>> >>>> _______________________________________________ Python-es mailing >>>> list Python-es en python.org >>>> http://mail.python.org/mailman/listinfo/python-es FAQ: >>>> http://python-es-faq.wikidot.com/ >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> http://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > > _______________________________________________ > Python-es mailing listPython-es en python.orghttp://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From cm.agullo en gmail.com Tue Dec 18 13:05:54 2012 From: cm.agullo en gmail.com (=?ISO-8859-1?Q?Carlos_Agull=F3_Calvo?=) Date: Tue, 18 Dec 2012 13:05:54 +0100 Subject: [Python-es] =?iso-8859-1?q?Duda_con_funci=F3n_M=2Ec=2Ed=2E?= In-Reply-To: References: <50D0576B.1030107@arrakis.es> Message-ID: Muchas gracias por vuestra ayuda. La página http://www.pythontutor.com/visualize.html# pasará a ser una de mis páginas de referencia, la verdad es que lo de que te lo haga paso a paso ayuda muchísmimo. Un saludo a todos El 18 de diciembre de 2012 13:00, Elio Rincón escribió: > > http://www.pythontutor.com/visualize.html#code=def+Mcd(a,b)%3A+return+b+and+Mcd(b,+a+%25+b)+or+a%0A%0AMcd(36,+48)&mode=display&cumulative=false&py=2&curInstr=6 > Gracias por el dato, Muy bueno. > > > El 18 de diciembre de 2012 07:15, Marcos Sánchez Provencio < > rapto en arrakis.es> escribió: > > Recomiendo http://www.pythontutor.com/visualize.html# para este tipo de >> enjuagues >> >> El 18/12/12 12:31, Elio Rincón escribió: >> >> Tienes que llevar la ejecución del programa paso a paso en cada >> iteración, crear un modelo o algo que te permita ver la logica y ejecución >> de una forma en la que puedas entenderlo mejor. >> >> Aquí te dejo un ejemplo: >> >> MCD(36, 48) > def Mcd(a,b): return b and Mcd(b, a % b) or a >> >> A B Condición MCD(B, A%B) >> 36 48 se cumple MCD(48, 36%48) >> 48 (36%48)=36 se cumple MCD(36, 48%36) >> 36 (48%36)=12 se cumple MCD(12, 36%12) >> 12 (36%12)=0 no se cumple retorna A=12 >> >> >> >> >> El 18 de diciembre de 2012 05:51, Carlos Agulló Calvo < >> cm.agullo en gmail.com> escribió: >> >>> Acabo de ver que es % no / así que sería 12, perdonad. >>> pero si intento hacer MCD(36,48) sí que no lo veo >>> >>> >>> >>> El 18 de diciembre de 2012 11:19, Carlos Agulló Calvo < >>> cm.agullo en gmail.com> escribió: >>> >>> Disculpad, pero sigo sin entenderlo. >>>> Si pongo MCD(48,36) sería: >>>> 36 and MCD(36,1) or 48 que como MCD(36,1) es distinto de cero la >>>> respuesta sería MCD(36,1) >>>> Entonces pasaríamos a evaluar MCD(36,1) que sería: >>>> 1 and MCD(1,36) or 36 si MCD fuera cero, la respuesta sería 36, si no >>>> sería MCD(1,36) >>>> Ahora, MCD (1,36) sería: >>>> 36 and MCD(36,0) or 1 >>>> >>>> Según mi razonamiento nunca llegaría a 12, que es la solución que >>>> debería dar, por lo que mi razonamiento falla, pero no veo dónde. >>>> >>>> Gracias >>>> >>>> >>>> >>>> >>>> El 18 de diciembre de 2012 03:09, xiao xiong mao panda rojo < >>>> ailurus.fulgens en hotmail.com> escribió: >>>> >>>> >>>>> wau no sabia que se podía usar AND y OR de ese modo >>>>> dicen k iterar es humano y la recursividad divina >>>>> nunca entendí bien como usarla >>>>> creo k debo comenzar XD >>>>> ------------------------------ >>>>> From: cm.agullo en gmail.com >>>>> Date: Mon, 17 Dec 2012 18:13:00 +0100 >>>>> To: python-es en python.org >>>>> Subject: [Python-es] Duda con función M.c.d. >>>>> >>>>> >>>>> Buenas tardes, >>>>> >>>>> practicando un poco python en la página de projecteuler he visto la >>>>> siguiente función: >>>>> >>>>> def Mcd(a,b): return b and Mcd(b, a % b) or a >>>>> >>>>> pero no entiendo cómo funciona, ¿alguien podría explicármelo? >>>>> Muchas gracias por adelantado >>>>> >>>>> _______________________________________________ Python-es mailing >>>>> list Python-es en python.org >>>>> http://mail.python.org/mailman/listinfo/python-es FAQ: >>>>> http://python-es-faq.wikidot.com/ >>>>> >>>>> _______________________________________________ >>>>> Python-es mailing list >>>>> Python-es en python.org >>>>> http://mail.python.org/mailman/listinfo/python-es >>>>> FAQ: http://python-es-faq.wikidot.com/ >>>>> >>>>> >>>> >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es en python.org >>> http://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> >> >> _______________________________________________ >> Python-es mailing listPython-es en python.orghttp://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From e1987ebrb en gmail.com Tue Dec 18 12:33:34 2012 From: e1987ebrb en gmail.com (=?UTF-8?B?RWxpbyBSaW5jw7Nu?=) Date: Tue, 18 Dec 2012 07:03:34 -0430 Subject: [Python-es] =?utf-8?b?RHVkYSBjb24gZnVuY2nDs24gTS5jLmQu?= In-Reply-To: References: Message-ID: Lo envié sin querer, disculpen. Aquí te dejo un ejemplo: MCD(36, 48) > def Mcd(a,b): return b and Mcd(b, a % b) or a A B Condición MCD(B, A%B) 36 48 se cumple MCD(48, 36%48) 48 (36%48)=36 se cumple MCD(36, 48%36) 36 (48%36)=12 se cumple MCD(12, 36%12) 12 (36%12)=0 no se cumple retorna A=12 El 18 de diciembre de 2012 07:01, Elio Rincón escribió: > Tienes que llevar la ejecución del programa paso a paso en cada iteración, > crear un modelo o algo que te permita ver la logica y ejecución de una > forma en la que puedas entenderlo mejor. > > Aquí te dejo un ejemplo: > > MCD(36, 48) > def Mcd(a,b): return b and Mcd(b, a % b) or a > > A B Condición MCD(B, A%B) > 36 48 se cumple MCD(48, 36%48) > 48 (36%48)=36 se cumple MCD(36, 48%36) > 36 (48%36)=12 se cumple MCD(12, 36%12) > 12 (36%12)=0 no se cumple retorna A=12 > > > > > El 18 de diciembre de 2012 05:51, Carlos Agulló Calvo > escribió: > > Acabo de ver que es % no / así que sería 12, perdonad. >> pero si intento hacer MCD(36,48) sí que no lo veo >> >> >> >> El 18 de diciembre de 2012 11:19, Carlos Agulló Calvo < >> cm.agullo en gmail.com> escribió: >> >> Disculpad, pero sigo sin entenderlo. >>> Si pongo MCD(48,36) sería: >>> 36 and MCD(36,1) or 48 que como MCD(36,1) es distinto de cero la >>> respuesta sería MCD(36,1) >>> Entonces pasaríamos a evaluar MCD(36,1) que sería: >>> 1 and MCD(1,36) or 36 si MCD fuera cero, la respuesta sería 36, si no >>> sería MCD(1,36) >>> Ahora, MCD (1,36) sería: >>> 36 and MCD(36,0) or 1 >>> >>> Según mi razonamiento nunca llegaría a 12, que es la solución que >>> debería dar, por lo que mi razonamiento falla, pero no veo dónde. >>> >>> Gracias >>> >>> >>> >>> >>> El 18 de diciembre de 2012 03:09, xiao xiong mao panda rojo < >>> ailurus.fulgens en hotmail.com> escribió: >>> >>> >>>> wau no sabia que se podía usar AND y OR de ese modo >>>> dicen k iterar es humano y la recursividad divina >>>> nunca entendí bien como usarla >>>> creo k debo comenzar XD >>>> ------------------------------ >>>> From: cm.agullo en gmail.com >>>> Date: Mon, 17 Dec 2012 18:13:00 +0100 >>>> To: python-es en python.org >>>> Subject: [Python-es] Duda con función M.c.d. >>>> >>>> >>>> Buenas tardes, >>>> >>>> practicando un poco python en la página de projecteuler he visto la >>>> siguiente función: >>>> >>>> def Mcd(a,b): return b and Mcd(b, a % b) or a >>>> >>>> pero no entiendo cómo funciona, ¿alguien podría explicármelo? >>>> Muchas gracias por adelantado >>>> >>>> _______________________________________________ Python-es mailing list >>>> Python-es en python.org http://mail.python.org/mailman/listinfo/python-esFAQ: >>>> http://python-es-faq.wikidot.com/ >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es en python.org >>>> http://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From gerardojuarez en buyteknet.info Tue Dec 18 18:03:35 2012 From: gerardojuarez en buyteknet.info (gerardo Juarez) Date: Tue, 18 Dec 2012 11:03:35 -0600 Subject: [Python-es] =?utf-8?b?RHVkYSBjb24gZnVuY2nDs24gTS5jLmQu?= In-Reply-To: References: <50D0576B.1030107@arrakis.es> Message-ID: <50D0A1E7.7040805@buyteknet.info> La verdad es que esa línea debería haber estado comentada. Si una línea de código suscita tantas dudas y comentarios, quiere decir que su función no está para nada clara. Inclusive su nombre no está claro: es mínimo común denominador? Quién escribió eso? saludos Gerardo Elio Rincón wrote: > http://www.pythontutor.com/visualize.html#code=def+Mcd(a,b)%3A+return+b+and+Mcd(b,+a+%25+b)+or+a%0A%0AMcd(36,+48)&mode=display&cumulative=false&py=2&curInstr=6 > > Gracias por el dato, Muy bueno. > > > El 18 de diciembre de 2012 07:15, Marcos Sánchez Provencio > > escribió: > > Recomiendo http://www.pythontutor.com/visualize.html# para este > tipo de enjuagues > > El 18/12/12 12:31, Elio Rincón escribió: >> Tienes que llevar la ejecución del programa paso a paso en cada >> iteración, crear un modelo o algo que te permita ver la logica y >> ejecución de una forma en la que puedas entenderlo mejor. >> >> Aquí te dejo un ejemplo: >> >> MCD(36, 48) > def Mcd(a,b): return b and Mcd(b, a % b) or a >> >> A B Condición MCD(B, A%B) >> 36 48 se cumple MCD(48, 36%48) >> 48 (36%48)=36 se cumple MCD(36, 48%36) >> 36 (48%36)=12 se cumple MCD(12, 36%12) >> 12 (36%12)=0 no se cumple retorna A=12 >> >> >> >> >> El 18 de diciembre de 2012 05:51, Carlos Agulló Calvo >> > escribió: >> >> Acabo de ver que es % no / así que sería 12, perdonad. >> pero si intento hacer MCD(36,48) sí que no lo veo >> >> >> >> El 18 de diciembre de 2012 11:19, Carlos Agulló Calvo >> > escribió: >> >> Disculpad, pero sigo sin entenderlo. >> Si pongo MCD(48,36) sería: >> 36 and MCD(36,1) or 48 que como MCD(36,1) es distinto de >> cero la respuesta sería MCD(36,1) >> Entonces pasaríamos a evaluar MCD(36,1) que sería: >> 1 and MCD(1,36) or 36 si MCD fuera cero, la respuesta >> sería 36, si no sería MCD(1,36) >> Ahora, MCD (1,36) sería: >> 36 and MCD(36,0) or 1 >> >> Según mi razonamiento nunca llegaría a 12, que es la >> solución que debería dar, por lo que mi razonamiento >> falla, pero no veo dónde. >> >> Gracias >> >> >> >> >> El 18 de diciembre de 2012 03:09, xiao xiong mao panda >> rojo > > escribió: >> >> >> wau no sabia que se podía usar AND y OR de ese modo >> dicen k iterar es humano y la recursividad divina >> nunca entendí bien como usarla >> creo k debo comenzar XD >> ------------------------------------------------------------------------ >> From: cm.agullo en gmail.com >> Date: Mon, 17 Dec 2012 18:13:00 +0100 >> To: python-es en python.org >> Subject: [Python-es] Duda con función M.c.d. >> >> >> Buenas tardes, >> >> practicando un poco python en la página de >> projecteuler he visto la siguiente función: >> >> def Mcd(a,b): return b and Mcd(b, a % b) or a >> >> pero no entiendo cómo funciona, ¿alguien >> podría explicármelo? >> Muchas gracias por adelantado >> >> _______________________________________________ >> Python-es mailing list Python-es en python.org >> >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> >> >> >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > ------------------------------------------------------------------------ > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From cm.agullo en gmail.com Tue Dec 18 18:26:39 2012 From: cm.agullo en gmail.com (=?ISO-8859-1?Q?Carlos_Agull=F3_Calvo?=) Date: Tue, 18 Dec 2012 18:26:39 +0100 Subject: [Python-es] =?iso-8859-1?q?Duda_con_funci=F3n_M=2Ec=2Ed=2E?= In-Reply-To: <50D0A1E7.7040805@buyteknet.info> References: <50D0576B.1030107@arrakis.es> <50D0A1E7.7040805@buyteknet.info> Message-ID: lo saqué de aquí: http://www.s-anand.net/euler.html del problema 5. yo he cambiado gcd por Mcd únicamente. El 18 de diciembre de 2012 18:03, gerardo Juarez < gerardojuarez en buyteknet.info> escribió: > La verdad es que esa línea debería haber estado comentada. Si una línea de > código suscita tantas dudas y comentarios, quiere decir que su función no > está para nada clara. Inclusive su nombre no está claro: es mínimo común > denominador? Quién escribió eso? > > saludos > Gerardo > > Elio Rincón wrote: > >> http://www.pythontutor.com/**visualize.html#code=def+Mcd(a,** >> b)%3A+return+b+and+Mcd(b,+a+%**25+b)+or+a%0A%0AMcd(36,+48)&** >> mode=display&cumulative=false&**py=2&curInstr=6< >> http://www.pythontutor.com/**visualize.html#code=def+Mcd%** >> 28a,b%29%3A+return+b+and+Mcd%**28b,+a+%25+b%29+or+a%0A%0AMcd%** >> 2836,+48%29&mode=display&**cumulative=false&py=2&**curInstr=6 >> > >> >> Gracias por el dato, Muy bueno. >> >> >> El 18 de diciembre de 2012 07:15, Marcos Sánchez Provencio < >> rapto en arrakis.es > escribió: >> >> >> Recomiendo http://www.pythontutor.com/**visualize.html#para este >> tipo de enjuagues >> >> El 18/12/12 12:31, Elio Rincón escribió: >> >>> Tienes que llevar la ejecución del programa paso a paso en cada >>> iteración, crear un modelo o algo que te permita ver la logica y >>> ejecución de una forma en la que puedas entenderlo mejor. >>> >>> Aquí te dejo un ejemplo: >>> >>> MCD(36, 48) > def Mcd(a,b): return b and Mcd(b, a % b) or a >>> >>> A B Condición MCD(B, A%B) >>> 36 48 se cumple MCD(48, 36%48) >>> 48 (36%48)=36 se cumple MCD(36, 48%36) >>> 36 (48%36)=12 se cumple MCD(12, 36%12) >>> 12 (36%12)=0 no se cumple retorna A=12 >>> >>> >>> >>> >>> El 18 de diciembre de 2012 05:51, Carlos Agulló Calvo >>> > escribió: >>> >>> >>> Acabo de ver que es % no / así que sería 12, perdonad. >>> pero si intento hacer MCD(36,48) sí que no lo veo >>> >>> >>> >>> El 18 de diciembre de 2012 11:19, Carlos Agulló Calvo >>> > escribió: >>> >>> >>> Disculpad, pero sigo sin entenderlo. >>> Si pongo MCD(48,36) sería: >>> 36 and MCD(36,1) or 48 que como MCD(36,1) es distinto de >>> cero la respuesta sería MCD(36,1) >>> Entonces pasaríamos a evaluar MCD(36,1) que sería: >>> 1 and MCD(1,36) or 36 si MCD fuera cero, la respuesta >>> sería 36, si no sería MCD(1,36) >>> Ahora, MCD (1,36) sería: >>> 36 and MCD(36,0) or 1 >>> >>> Según mi razonamiento nunca llegaría a 12, que es la >>> solución que debería dar, por lo que mi razonamiento >>> falla, pero no veo dónde. >>> >>> Gracias >>> >>> >>> >>> >>> El 18 de diciembre de 2012 03:09, xiao xiong mao panda >>> rojo >> >> >>> escribió: >>> >>> >>> >>> wau no sabia que se podía usar AND y OR de ese modo >>> dicen k iterar es humano y la recursividad divina >>> nunca entendí bien como usarla >>> creo k debo comenzar XD >>> ------------------------------** >>> ------------------------------**------------ >>> From: cm.agullo en gmail.com >>> >>> Date: Mon, 17 Dec 2012 18:13:00 +0100 >>> To: python-es en python.org >>> >>> Subject: [Python-es] Duda con función M.c.d. >>> >>> >>> Buenas tardes, >>> >>> practicando un poco python en la página de >>> projecteuler he visto la siguiente función: >>> >>> def Mcd(a,b): return b and Mcd(b, a % b) or a >>> >>> pero no entiendo cómo funciona, ¿alguien >>> podría explicármelo? >>> Muchas gracias por adelantado >>> >>> ______________________________**_________________ >>> Python-es mailing list Python-es en python.org >>> >>> >>> http://mail.python.org/**mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.**com/ >>> >>> ______________________________**_________________ >>> Python-es mailing list >>> Python-es en python.org >>> >>> http://mail.python.org/**mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.**com/ >>> >>> >>> >>> >>> ______________________________**_________________ >>> Python-es mailing list >>> Python-es en python.org >>> >>> http://mail.python.org/**mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.**com/ >>> >>> >>> >>> >>> ______________________________**_________________ >>> Python-es mailing list >>> Python-es en python.org >>> >>> http://mail.python.org/**mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.**com/ >>> >>> >> >> >> ______________________________**_________________ >> Python-es mailing list >> Python-es en python.org >> >> http://mail.python.org/**mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.**com/ >> >> >> ------------------------------**------------------------------** >> ------------ >> >> >> ______________________________**_________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/**mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.**com/ >> >> > > ______________________________**_________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/**mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.**com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From manuelcortez00 en gmail.com Tue Dec 18 12:43:55 2012 From: manuelcortez00 en gmail.com (manuel) Date: Tue, 18 Dec 2012 11:43:55 +0000 Subject: [Python-es] Problema con py2exe y pywin32 al usar SAPI5 In-Reply-To: References: <50CF923F.4020205@gmail.com> Message-ID: <50D056FB.3040305@gmail.com> Hola, muchas gracias! cambié un par de cosas y seguí los pasos de la página, y ahora todo funciona OK. Saludos. El 18/12/12 09:14, Chema Cortes escribió: > El día 17 de diciembre de 2012 22:44, manuel > escribió: > >> Todo funciona excelente siempre y cuando lo ejecute desde Python con todo >> instalado, pero, al compilarlo con py2exe, el programa se ejecuta, al menos >> la ventana, y cuando debería empezar a hablar, no lo hace, y me escribe un >> archivo con errores, este es el contenido del archivo: >> >> Traceback (most recent call last): >> File "gtk_main.py", line 39, in say_widget >> File "tts.pyc", line 31, in say >> File "win32com\client\__init__.pyc", line 170, in __getattr__ >> AttributeError: SVSFPurgeBeforeSpeak > Tal vez aquí tengas la explicación (además pone SAPI como ejemplo): > > http://www.py2exe.org/index.cgi/UsingEnsureDispatch > > > From pych3m4 en gmail.com Thu Dec 20 10:48:12 2012 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 20 Dec 2012 10:48:12 +0100 Subject: [Python-es] Buscador Python Hispano Message-ID: Como estaba algo harto de no encontrar algunos de mis mensajes viejos de la lista, he personalizado el buscador google para que realice búsquedas en esta lista, así como en otros grupos hispanos de python. El buscador lo tenéis en: Como acceso rápido he configurado la siguiente redirección: http://ch3m4.org/python-es De momento, éstas son las webs que indexa: http://python-hispano.org/ http://planet.python-hispano.org http://python.org.ar http://python.majibu.org/ http://es.pycon.org http://listas.python.org.ar/pipermail/pyar/ http://mail.python.org/pipermail/python-es/ En breve añadiré algunas listas más (django, web2py, zope, ... ). Estoy abierto a cualquier sugerencia (envíamela como correo privado). Creo que los blogs personales ya están recogidos con planet.python-hispano.org . Si aún falta tu blog, te recomiendo que lo añadas a este planet. Es posible incorporar este buscador en vuestros propios blogs. Por ejemplo: http://ch3m4.org/blog/busqueda-python-es/ ¡Qué paseis una Felices Fiestas! -- Hyperreals *R: http://ch3m4.org/blog Quarks, bits y otras criaturas infinitesimales From kikocorreoso en gmail.com Thu Dec 20 10:55:38 2012 From: kikocorreoso en gmail.com (Kiko) Date: Thu, 20 Dec 2012 10:55:38 +0100 Subject: [Python-es] Buscador Python Hispano In-Reply-To: References: Message-ID: El 20 de diciembre de 2012 10:48, Chema Cortes escribió: > Como estaba algo harto de no encontrar algunos de mis mensajes viejos > de la lista, he personalizado el buscador google para que realice > búsquedas en esta lista, así como en otros grupos hispanos de python. > > El buscador lo tenéis en: > > > > Como acceso rápido he configurado la siguiente redirección: > > http://ch3m4.org/python-es > > De momento, éstas son las webs que indexa: > > http://python-hispano.org/ > http://planet.python-hispano.org > http://python.org.ar > http://python.majibu.org/ > http://es.pycon.org > http://listas.python.org.ar/pipermail/pyar/ > http://mail.python.org/pipermail/python-es/ > > En breve añadiré algunas listas más (django, web2py, zope, ... ). > Estoy abierto a cualquier sugerencia (envíamela como correo privado). > > Creo que los blogs personales ya están recogidos con > planet.python-hispano.org . Si aún falta tu blog, te recomiendo que lo > añadas a este planet. > > Es posible incorporar este buscador en vuestros propios blogs. Por ejemplo: > > http://ch3m4.org/blog/busqueda-python-es/ > > > ¡Qué útil! Gracias, artista. > ¡Qué paseis una Felices Fiestas! > -- > Igualmente. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From joe en joedicastro.com Thu Dec 20 12:32:54 2012 From: joe en joedicastro.com (joe di castro) Date: Thu, 20 Dec 2012 12:32:54 +0100 Subject: [Python-es] Buscador Python Hispano In-Reply-To: References: Message-ID: <50D2F766.9020108@joedicastro.com> On 20/12/12 10:48, Chema Cortes wrote: > Como estaba algo harto de no encontrar algunos de mis mensajes viejos > de la lista, he personalizado el buscador google para que realice > búsquedas en esta lista, así como en otros grupos hispanos de python. > > El buscador lo tenéis en: > > > > Como acceso rápido he configurado la siguiente redirección: > > http://ch3m4.org/python-es > > De momento, éstas son las webs que indexa: > > http://python-hispano.org/ > http://planet.python-hispano.org > http://python.org.ar > http://python.majibu.org/ > http://es.pycon.org > http://listas.python.org.ar/pipermail/pyar/ > http://mail.python.org/pipermail/python-es/ > > En breve añadiré algunas listas más (django, web2py, zope, ... ). > Estoy abierto a cualquier sugerencia (envíamela como correo privado). > > Creo que los blogs personales ya están recogidos con > planet.python-hispano.org . Si aún falta tu blog, te recomiendo que lo > añadas a este planet. > > Es posible incorporar este buscador en vuestros propios blogs. Por ejemplo: > > http://ch3m4.org/blog/busqueda-python-es/ > > > ¡Qué paseis una Felices Fiestas! > Muchas gracias Chema! Felices Fiestas a ti también y al resto de usuarios de la lista! -- joe di castro http://joedicastro.com From kausdiv en gmail.com Wed Dec 26 11:04:09 2012 From: kausdiv en gmail.com (kausdiv) Date: Wed, 26 Dec 2012 11:04:09 +0100 Subject: [Python-es] Pythoniano y c niano Message-ID: <50DACB99.4090903@gmail.com> Hola. Estoy aprendiendo Python (me gusta muchisimo). El problema que todo lo que escribo lo hago al estilo ceniano. Es decir tipo C o java, y quiero adentrarme al estilo pythoniano. Por ejemplo este programita que busca los números primos entre 2 números dados. ------------------------------- def fprimos(n,x): l=[] for i in range(n,x): isprime=1 for k in range(2,i): if i % k ==0 and i<>k: isprime=0 break if isprime==1: l.append(i) return l def main(): ok=1 while ok==1: print " imprime numeros primos desde hasta." print " 0 = Salir " n1=raw_input("Valor inicial ") n2=raw_input("Valor Final ") n1=int(n1) n2=int(n2) if n1==0 or n2==0: ok=0 else: print fprimos(n1,n2) main() --------------------------------------- ¿ como sería el mismo programa pasado a estilo python ? Gracias amigos. P.D. No tengo ni idea de ingles como para leer la documentación. :-( From lasizoillo en gmail.com Wed Dec 26 11:47:12 2012 From: lasizoillo en gmail.com (lasizoillo) Date: Wed, 26 Dec 2012 11:47:12 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: <50DACB99.4090903@gmail.com> References: <50DACB99.4090903@gmail.com> Message-ID: El día 26 de diciembre de 2012 11:04, kausdiv escribió: > Hola. > Estoy aprendiendo Python (me gusta muchisimo). > El problema que todo lo que escribo lo hago al estilo ceniano. Es decir > tipo C o java, y quiero adentrarme al estilo pythoniano. > Por ejemplo este programita que busca los números primos entre 2 números > dados. > ------------------------------- > def fprimos(n,x): > l=[] > for i in range(n,x): > isprime=1 > for k in range(2,i): > if i % k ==0 and i<>k: > isprime=0 > break > if isprime==1: > l.append(i) > return l > > def main(): > ok=1 > while ok==1: > print " imprime numeros primos desde hasta." > print " 0 = Salir " > n1=raw_input("Valor inicial ") > n2=raw_input("Valor Final ") > n1=int(n1) > n2=int(n2) > if n1==0 or n2==0: > ok=0 > else: > print fprimos(n1,n2) > > main() > > --------------------------------------- > ¿ como sería el mismo programa pasado a estilo python ? > La verdad es que más que con el estilo voy a "quejarme" de otras características del programa. Para empezar, tu función para sacar los numeros primos entre dos números hace lo siguiente: def fprimos(n1, n2): """ Retorna los numeros primos entre los numeros n1 y n2 Esto se puede documentar mejor ;-) """ return [n for n in range(n1, n2) if is_prime(n)] y luego defines la función de si es primo o no dentro del bucle. Separándolo obtienes poder reutilizar la función de comprobación de primalidad y reduces la complejidad del programa: cada pieza se entiende por sí sola. Para ver si es primo puedes ver código en rosetta code: http://rosettacode.org/wiki/Primality_by_trial_division#Python Como ves no es necesario probar todos los divisores desde 2 hasta el número a probar. Si n tiene un divisor d, también tendrá un divisor D. d * D = n => si d < D -> d*d <= n. Vamos, que basta comprobar los divisores hasta la raiz cuadrada del número a comprobar, que quita muchas pruebas. En el código de rosetta usa any para evitar la sentencia for con un break cuando una de las condiciones se cumple. No se si es bueno o no hacer este tipo de código. Por un lado es conciso y eficiente, pero por otro a algunos programadores les puede costar más leerlo. Piensa en quién va a leer el código antes de escribirlo con un estilo u otro ;-) Otra ventaja de separar el código en dos funciones es que si vas a ejecutar la función muchas veces con intervalos solapados es posible que te sea sencillo cachear alguno de los tests de primalidad de forma sencilla: http://docs.python.org/3.4/library/functools.html#functools.lru_cache Pero no siempre los patrones de ejecución de tu código te van a permitir esto. Eso si, cuando lo permiten es pythonico hacerlo ;-) Un saludo y espero haberte sido de ayuda, Javi From monobot.soft en gmail.com Wed Dec 26 12:34:24 2012 From: monobot.soft en gmail.com (monoBOT) Date: Wed, 26 Dec 2012 11:34:24 +0000 Subject: [Python-es] Pythoniano y c niano In-Reply-To: <50DACB99.4090903@gmail.com> References: <50DACB99.4090903@gmail.com> Message-ID: yo lo haría así: def prim(n): if n==1: return False if n==2 or n==3: return n for m in xrange(2,int (n**0.5)+1): if n % m: if m == int (n**0.5): return n else: return False def fprimos(n1, n2): l = [] for num in range(n1, n2+1): if prim(num): l.append(num) return l def main(): ok = True while ok: print " imprime numeros primos desde hasta." print " 0 = Salir " n1=raw_input("Valor inicial ") n2=raw_input("Valor Final ") n1=int(n1) n2=int(n2) if n1==0 or n2==0: ok = False else: fprimos(n1, n2) if __name__ == '__main__': main() El 26 de diciembre de 2012 10:04, kausdiv escribió: > Hola. > Estoy aprendiendo Python (me gusta muchisimo). > El problema que todo lo que escribo lo hago al estilo ceniano. Es decir > tipo C o java, y quiero adentrarme al estilo pythoniano. > Por ejemplo este programita que busca los números primos entre 2 números > dados. > ------------------------------**- > def fprimos(n,x): > l=[] > for i in range(n,x): > isprime=1 > for k in range(2,i): > if i % k ==0 and i<>k: > isprime=0 > break > if isprime==1: > l.append(i) > return l > > def main(): > ok=1 > while ok==1: > print " imprime numeros primos desde hasta." > print " 0 = Salir " > n1=raw_input("Valor inicial ") > n2=raw_input("Valor Final ") > n1=int(n1) > n2=int(n2) > if n1==0 or n2==0: > ok=0 > else: > print fprimos(n1,n2) > > main() > > ------------------------------**--------- > ¿ como sería el mismo programa pasado a estilo python ? > > Gracias amigos. > P.D. > No tengo ni idea de ingles como para leer la documentación. :-( > ______________________________**_________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/**mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.**com/ > -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From monobot.soft en gmail.com Wed Dec 26 12:50:01 2012 From: monobot.soft en gmail.com (monoBOT) Date: Wed, 26 Dec 2012 11:50:01 +0000 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> Message-ID: Aunque ahora que lo miro por segunda vez y lo compruebo (que lo hice a pelo) ... lo haría así def prim(n): if n == 1: return False if n == 2 or n == 3: return n for m in xrange(2, int(n ** 0.5) + 1): if n % m: if m == int(n ** 0.5): return n else: return False def fprimos(n1, n2): l = [] for num in range(n1, n2 + 1): if prim(num): l.append(num) return l def main(): print " imprime numeros primos desde hasta." print " 0 = Salir " n1 = int(raw_input("Valor inicial ")) n2 = int(raw_input("Valor Final ")) if n1 == 0 or n2 == 0: print '...saliendo' return False else: return fprimos(n1, n2) if __name__ == '__main__': print main() ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From davidmenhur en gmail.com Wed Dec 26 13:32:43 2012 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Wed, 26 Dec 2012 13:32:43 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: <50DACB99.4090903@gmail.com> References: <50DACB99.4090903@gmail.com> Message-ID: 2012/12/26 kausdiv : > def main(): > [...] > > main() Esto sólo es útil si lo haces dentro de un if __name__ == '__main__': main() Esto significa que si el archivo se está ejecutando por sí mismo (no llamado desde otro módulo), ejecuta main(). En realidad, esto es útil para hacer pruebas. Si no necesitas usar esto, simplemente escribe el código: def isprime(): blahblah ok = 1 while ok... Por otro lado, los valores booleanos son True y False, por lo que lo más correcto sería: ok = True while ok: o, si lo quieres más claro, while ok == True: pero es que, en este caso, te lo puedes ahorrar. while True: y donde pone ok = 0, lo cambias por un break para romper el ciclo. Lo mismo se aplica a la función. Para la entrada de valores, puedes simplificarla haciendo: n1=int(raw_input("Valor inicial ")) El problema es que al usuario se le puede escapar algo que no debía al meter los datos (el dedo morcilla mete una r donde debería ir un 5), y el programa cascará porque no sabe convertir '3r7' a un entero. Si quieres protegerte de eso, deberías usar un try - except (parecido al catch de C). También, la forma habitual del operador "es distitinto a" es !=, no <>. From davidmenhur en gmail.com Wed Dec 26 13:38:57 2012 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Wed, 26 Dec 2012 13:38:57 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> Message-ID: On Wed, Dec 26, 2012 at 12:50 PM, monoBOT wrote: > def prim(n): > if n == 1: > return False > if n == 2 or n == 3: # if n in (2,3) # (más corto, y más fácil de expandir). > return n > for m in xrange(2, int(n ** 0.5) + 1): > if n % m: > if m == int(n ** 0.5): # Aquí estás calculando la raíz cuadrada del mismo número en cada iteración, lo que puede ser lento. Puedes definir sqrn = int(n**0.5) al principio. Si vas a calcular muchas raíces cuadradas, es mejor usar la función math.sqrt, pero para esto es mejor dejarlo así. > return n > else: > return False > > > def fprimos(n1, n2): > l = [] > for num in range(n1, n2 + 1): # Si estás usando Python 2.x, es mejor usar un xrange, ya que no estás usando la lista. En Python 3.x, el range es como el xrange de 2. # La diferencia (Py2.x) es que range genera y guarda en memoria una lista con todos los elementos, mientras que xrange te va devolviendo el siguiente número, sin almacenarlos todos, ya que no los necesitas. > if prim(num): > l.append(num) > return l From ricardo.cardenes en gmail.com Wed Dec 26 13:56:02 2012 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes?=) Date: Wed, 26 Dec 2012 12:56:02 +0000 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> Message-ID: 2012/12/26 Da?id El problema es que al usuario se le puede escapar algo que no debía al > meter los datos (el dedo morcilla mete una r donde debería ir un 5), y > el programa cascará porque no sabe convertir '3r7' a un entero. Si > quieres protegerte de eso, deberías usar un try - except (parecido al > catch de C). > C++ hijo mío, C++. En C no existe el mecanismo try-catch para captura y tratamiento de excepciones. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From monobot.soft en gmail.com Wed Dec 26 14:19:40 2012 From: monobot.soft en gmail.com (monoBOT) Date: Wed, 26 Dec 2012 13:19:40 +0000 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> Message-ID: El 26 de diciembre de 2012 12:38, Da?id escribió: > > return n > > for m in xrange(2, int(n ** 0.5) + 1): > > if n % m: > > if m == int(n ** 0.5): > # Aquí estás calculando la raíz cuadrada del mismo número en cada > iteración, lo que puede ser lento. Puedes definir sqrn = int(n**0.5) > al principio. Si vas a calcular muchas raíces cuadradas, es mejor usar > la función math.sqrt, pero para esto es mejor dejarlo así. Tienes razón -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From davidmenhur en gmail.com Wed Dec 26 14:20:56 2012 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Wed, 26 Dec 2012 14:20:56 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: <50DACB99.4090903@gmail.com> References: <50DACB99.4090903@gmail.com> Message-ID: Por otro lado, el algoritmo se puede mejorar un poco. Hay métodos muy optimizados para calcular números primos, pero sin irnos a matemáticas superiores, podemos mejorar tu proceso. Un número es primo si y sólo si no es divisible exactamente por todos los números menores que él (sin contar el 1), y por tanto si no es divisible exactamente por todos los primos menores que él (sin contar el 1). Por tanto, basta con que comprobemos sólo los números primos (que ya has calculado). Además, sabemos que los números pares no son primos, por lo que también nos los podemos saltar. Calculando todos los primos desde 2 hasta n tenemos (spoiler): http://pastebin.com/fMRH5xKK Este programa tarda 0.3 s en calcular los primos hasta 15 000, y 13 s en encontrar los 13 843 primos menores que 150 000. Tu versión tarda unos 3 segundos para el primer caso. El proceso se puede encapsular más. Podemos echar mano de la programación funcional y hacer que isprime devuelva por defecto True, salvo cuando vea que el número es compuesto, en cuyo caso devolverá False. http://pastebin.com/gnFrcpYC Con esto, hemos reducido el tiempo de cálculo a la mitad. He probado a considerar sólo los primos menores que la raíz cuadrada del número, pero en el cálculo de la raíz se tarda más que en lo que se ahorraría en divisiones. Este programa es un poco más rápido que el de MonoBOT. 2012/12/26 kausdiv : > Hola. > Estoy aprendiendo Python (me gusta muchisimo). > El problema que todo lo que escribo lo hago al estilo ceniano. Es decir > tipo C o java, y quiero adentrarme al estilo pythoniano. > Por ejemplo este programita que busca los números primos entre 2 números > dados. > ------------------------------- > def fprimos(n,x): > l=[] > for i in range(n,x): > isprime=1 > for k in range(2,i): > if i % k ==0 and i<>k: > isprime=0 > break > if isprime==1: > l.append(i) > return l > > def main(): > ok=1 > while ok==1: > print " imprime numeros primos desde hasta." > print " 0 = Salir " > n1=raw_input("Valor inicial ") > n2=raw_input("Valor Final ") > n1=int(n1) > n2=int(n2) > if n1==0 or n2==0: > ok=0 > else: > print fprimos(n1,n2) > > main() > > --------------------------------------- > ¿ como sería el mismo programa pasado a estilo python ? > > Gracias amigos. > P.D. > No tengo ni idea de ingles como para leer la documentación. :-( > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ From kelertxiki en gmail.com Wed Dec 26 15:11:05 2012 From: kelertxiki en gmail.com (Ander Garmendia) Date: Wed, 26 Dec 2012 15:11:05 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> Message-ID: Buenas, soy nuevo en el universo python y llevo un tiempo en esta lista y esta pregunta me ha llamado la atención. ¿ Hay un modo "pythonico" de hacer las cosas ? Viendo las soluciones solo veo algoritmos adaptados a las estructuras de control de python. ¿ Es cosa mía o se me esta pasando algo ? Saludos y feliz navidad! El 26/12/2012 14:21, "Da?id" escribió: > Por otro lado, el algoritmo se puede mejorar un poco. Hay métodos muy > optimizados para calcular números primos, pero sin irnos a matemáticas > superiores, podemos mejorar tu proceso. Un número es primo si y sólo > si no es divisible exactamente por todos los números menores que él > (sin contar el 1), y por tanto si no es divisible exactamente por > todos los primos menores que él (sin contar el 1). Por tanto, basta > con que comprobemos sólo los números primos (que ya has calculado). > Además, sabemos que los números pares no son primos, por lo que > también nos los podemos saltar. > > Calculando todos los primos desde 2 hasta n tenemos (spoiler): > > http://pastebin.com/fMRH5xKK > > Este programa tarda 0.3 s en calcular los primos hasta 15 000, y 13 s > en encontrar los 13 843 primos menores que 150 000. Tu versión tarda > unos 3 segundos para el primer caso. > > El proceso se puede encapsular más. Podemos echar mano de la > programación funcional y hacer que isprime devuelva por defecto True, > salvo cuando vea que el número es compuesto, en cuyo caso devolverá > False. > > http://pastebin.com/gnFrcpYC > > Con esto, hemos reducido el tiempo de cálculo a la mitad. > > He probado a considerar sólo los primos menores que la raíz cuadrada > del número, pero en el cálculo de la raíz se tarda más que en lo que > se ahorraría en divisiones. Este programa es un poco más rápido que el > de MonoBOT. > > 2012/12/26 kausdiv : > > Hola. > > Estoy aprendiendo Python (me gusta muchisimo). > > El problema que todo lo que escribo lo hago al estilo ceniano. Es decir > > tipo C o java, y quiero adentrarme al estilo pythoniano. > > Por ejemplo este programita que busca los números primos entre 2 números > > dados. > > ------------------------------- > > def fprimos(n,x): > > l=[] > > for i in range(n,x): > > isprime=1 > > for k in range(2,i): > > if i % k ==0 and i<>k: > > isprime=0 > > break > > if isprime==1: > > l.append(i) > > return l > > > > def main(): > > ok=1 > > while ok==1: > > print " imprime numeros primos desde hasta." > > print " 0 = Salir " > > n1=raw_input("Valor inicial ") > > n2=raw_input("Valor Final ") > > n1=int(n1) > > n2=int(n2) > > if n1==0 or n2==0: > > ok=0 > > else: > > print fprimos(n1,n2) > > > > main() > > > > --------------------------------------- > > ¿ como sería el mismo programa pasado a estilo python ? > > > > Gracias amigos. > > P.D. > > No tengo ni idea de ingles como para leer la documentación. :-( > > _______________________________________________ > > Python-es mailing list > > Python-es en python.org > > http://mail.python.org/mailman/listinfo/python-es > > FAQ: http://python-es-faq.wikidot.com/ > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kikocorreoso en gmail.com Wed Dec 26 15:26:33 2012 From: kikocorreoso en gmail.com (Kiko) Date: Wed, 26 Dec 2012 15:26:33 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> Message-ID: El 26 de diciembre de 2012 15:11, Ander Garmendia escribió: > Buenas, > soy nuevo en el universo python y llevo un tiempo en esta lista y esta > pregunta me ha llamado la atención. > ¿ Hay un modo "pythonico" de hacer las cosas ? > Viendo las soluciones solo veo algoritmos adaptados a las estructuras de > control de python. > ¿ Es cosa mía o se me esta pasando algo ? > > Hola. Como comentas se intenta resolver un problema y hay mejores y peores formas de resolverlo. Con el modo pythónico yo entiendo que se refiere a seguir una serie de principios que permiten que el código sea más legible, sencillo y elegante (esto último ya depende de cada cual). Ver los siguientes enlaces para entenderlo mejor: http://www.python.org/dev/peps/pep-0008/ http://www.python.org/dev/peps/pep-0020/ http://www.jeffknupp.com/blog/2012/10/04/writing-idiomatic-python/ http://blog.aitorciki.net/2012/10/05/el-diablo-esta-en-los-detalles-python-edition/ http://blog.aitorciki.net/2012/11/09/el-diablo-esta-en-los-detalles-python-edition-y-ii/ ... Saludos. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From davidmenhur en gmail.com Wed Dec 26 17:04:05 2012 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Wed, 26 Dec 2012 17:04:05 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> Message-ID: On Dec 26, 2012 3:27 PM, "Kiko" wrote: > Como comentas se intenta resolver un problema y hay mejores y peores formas de resolverlo. Con el modo pythónico yo entiendo que se refiere a seguir una serie de principios que permiten que el código sea más legible, sencillo y elegante (esto último ya depende de cada cual). Como dice el zen de Python, debería haber una, y sólo una, forma evidente de hacerlo (aunque no se te ocurra en un principio, a menos que seas neerlandés). Esto significa que debería haber una forma óptima de hacerlo, de usar el lenguaje, que es concisa y elegante. Además, en esta forma deberíamos de que es la mejor. Estoy seguro de que cualquiera que haya escrito unas pocas líneas de Python es capaz de entender mi programa, aunque no se le hubiera ocurrido hacerlo así. También estaremos todos de acuerdo que mi solución es más legible que la original. ¿Es la mejor? Pues como ninguno somos Guido :-), no podemos saberlo, pero si alguien viene con otra solución mejor, la reconocemos. En oposición a esto tenemos otros lenguajes como Perl. El código escrito por alguien experimentado diferirá del del principiante, pero probablemente también será muy diferente del de un experto. Y es más, el novato no podrá entender el código de los otros dos. (Perl, el único lenguaje de programación cuyo código tiene la misma pinta después de haber sido cifrado). Toda esta filosofía hace que Python sea muy legible y fácil de usar, pero por otro lado, impide introducir ciertas características al lenguaje que podrían producir código más eficiente pero difícil de leer. Es una decisión de diseño y de base. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From ricardo.cardenes en gmail.com Wed Dec 26 17:04:36 2012 From: ricardo.cardenes en gmail.com (=?ISO-8859-1?Q?Ricardo_C=E1rdenes?=) Date: Wed, 26 Dec 2012 16:04:36 +0000 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> Message-ID: 2012/12/26 Da?id Calculando todos los primos desde 2 hasta n tenemos (spoiler): > > http://pastebin.com/fMRH5xKK > > Lo que hace este programa tiene un nombre: "la criba de Eratóstenes". Es muy simple en cuanto a su concepción y debe de ser uno de los métodos conceptuales más viejos para optimizar el cálculo de primos (al menos los documentados). > Este programa tarda 0.3 s en calcular los primos hasta 15 000, y 13 s > en encontrar los 13 843 primos menores que 150 000. Tu versión tarda > unos 3 segundos para el primer caso. > > El proceso se puede encapsular más. Podemos echar mano de la > programación funcional y hacer que isprime devuelva por defecto True, > salvo cuando vea que el número es compuesto, en cuyo caso devolverá > False. > > http://pastebin.com/gnFrcpYC > > Con esto, hemos reducido el tiempo de cálculo a la mitad. > Em... No sé de dónde sacas esa idea. El segundo listado es equivalente al primero, abstrayendo el test de primalidad en una función aparte. Como Python no soporta funciones "inline", esto introduce una llamada a función, con lo que, intuitivamente, debería ser ligeramente más lento. Y lo es: el mejor tiempo de ejecución (para primos hasta 15000) en mi máquina es de 125ms para tu primera propuesta y de unos 143ms para el segundo. Ten en cuenta que lo único que estás ahorrando son unas pocas operaciones rápidas que se ejecutan en tiempo despreciable. Lo que más influye en el tiempo de ejecución son el bucle en sí y el append, que se ejecuta sólo para algo más del 11% de los números (de esos 15000). De hecho, este otro listado, que es más compacto, se ejecuta en básicamente el mismo tiempo que el primer intento, aún descomponiéndose en menos instrucciones básicas: http://pastebin.com/vQ0eLPAZ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From pych3m4 en gmail.com Wed Dec 26 17:10:29 2012 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 26 Dec 2012 17:10:29 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> Message-ID: El día 26 de diciembre de 2012 15:11, Ander Garmendia escribió: > Buenas, > soy nuevo en el universo python y llevo un tiempo en esta lista y esta > pregunta me ha llamado la atención. > ¿ Hay un modo "pythonico" de hacer las cosas ? > Viendo las soluciones solo veo algoritmos adaptados a las estructuras de > control de python. > ¿ Es cosa mía o se me esta pasando algo ? Yo dirías que estamos viendo un algoritmo típico de programación imperativa y no hay mucho más qué hacer. En cambio, si usáramos la Criba de Eratóstenes para obtener los primos, entonces podíamos usar cosas tan pitónicas como los sets con los que se puede optimizar mejor nuestro código (y si hacer una sola división): def primes(n): res = set(range(1, n+1)) for i in xrange(2, n+1): if i in res: res -= set(xrange(i+i, n+1, i)) return res Si aún quieres que sea más distinto de lo que se ve en C, se puede dar una vuelta más de tuerca y dejarlo así de extraño: def primes(n): criba = {1,2}|set(range(3,n+1,2)) seq = (set(range(i+i,n+1,i)) for i in xrange(3,n+1,2) if i in criba) for x in seq: criba -= x return criba -- Hyperreals *R: http://ch3m4.org/blog Quarks, bits y otras criaturas infinitesimales From kausdiv en gmail.com Wed Dec 26 18:31:38 2012 From: kausdiv en gmail.com (kausdiv) Date: Wed, 26 Dec 2012 18:31:38 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> Message-ID: <50DB347A.7090109@gmail.com> Muchas gracias a todos. He aprendido mucho. Chema, precisamente me refería a esa forma de escribir en python. Gracias. Una pregunta: ¿ como hacéis para medir el tiempo de ejecución de una función ? Sabia hacerlo en Pascal pero no en PY. Y una sugerencia: ¿ que os parece organizar un concurso sobre un el programa py más rápido en calcular los primeros 1.000.000 de número primos ? ¿ Recordáis hace años aquellos concursos en c y ensamblador de 3Kb. lo que conseguían hacer ? Yo tenia uno que recreaba un paisaje marciano y solo ocupaba 3kb. (creo recordar) Bueno, de nuevo muchas gracias a todos. El 26/12/2012 17:10, Chema Cortes escribió: > El día 26 de diciembre de 2012 15:11, Ander Garmendia > escribió: >> Buenas, >> soy nuevo en el universo python y llevo un tiempo en esta lista y esta >> pregunta me ha llamado la atención. >> ¿ Hay un modo "pythonico" de hacer las cosas ? >> Viendo las soluciones solo veo algoritmos adaptados a las estructuras de >> control de python. >> ¿ Es cosa mía o se me esta pasando algo ? > Yo dirías que estamos viendo un algoritmo típico de programación > imperativa y no hay mucho más qué hacer. > > En cambio, si usáramos la Criba de Eratóstenes para obtener los > primos, entonces podíamos usar cosas tan pitónicas como los sets con > los que se puede optimizar mejor nuestro código (y si hacer una sola > división): > > def primes(n): > res = set(range(1, n+1)) > for i in xrange(2, n+1): > if i in res: > res -= set(xrange(i+i, n+1, i)) > return res > > > Si aún quieres que sea más distinto de lo que se ve en C, se puede dar > una vuelta más de tuerca y dejarlo así de extraño: > > def primes(n): > > criba = {1,2}|set(range(3,n+1,2)) > seq = (set(range(i+i,n+1,i)) for i in xrange(3,n+1,2) if i in criba) > > for x in seq: > criba -= x > > return criba > > > > From kausdiv en gmail.com Wed Dec 26 18:40:18 2012 From: kausdiv en gmail.com (kausdiv) Date: Wed, 26 Dec 2012 18:40:18 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> Message-ID: <50DB3682.6070800@gmail.com> Pues si, hay un modo pitoniano de escribir código. Python tiene una riqueza y una naturalidad al escribir que define su propio modo de escribir. Verás cuando yo empecé (y aún me pasa), mis programas parecían escritos en java o c excepto que usaba lenguaje PY. Pero cambiando algunas cosas podría pasar por java, etc. Para ilustrarlo mejor compara el código que ha escrito Chema con el mio del principio: (aunque ambos usen formas distintas de conseguir los primos) -----Codigo de Chema------ def primes(n): criba = {1,2}|set(range(3,n+1,2)) seq = (set(range(i+i,n+1,i)) for i in xrange(3,n+1,2) if i in criba) for x in seq: criba -= x return criba -----------El mio--------------- def fprimos(n,x): l=[] for i in range(n,x): isprime=1 for k in range(2,i): if i % k ==0 and i<>k: isprime=0 break if isprime==1: l.append(i) return l --------------------------------------- Como ves, hay una gran diferencia, a parte de estar más optimizado y usar recursos propios de PY. Saludos. El 26/12/2012 15:11, Ander Garmendia escribió: > > Buenas, > soy nuevo en el universo python y llevo un tiempo en esta lista y esta > pregunta me ha llamado la atención. > ¿ Hay un modo "pythonico" de hacer las cosas ? > Viendo las soluciones solo veo algoritmos adaptados a las estructuras > de control de python. > ¿ Es cosa mía o se me esta pasando algo ? > > From joe en joedicastro.com Wed Dec 26 19:15:09 2012 From: joe en joedicastro.com (joe di castro) Date: Wed, 26 Dec 2012 19:15:09 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: <50DB3682.6070800@gmail.com> References: <50DACB99.4090903@gmail.com> <50DB3682.6070800@gmail.com> Message-ID: <50DB3EAD.8020502@joedicastro.com> On 26/12/12 18:40, kausdiv wrote: > Pues si, hay un modo pitoniano de escribir código. > > Python tiene una riqueza y una naturalidad al escribir que define su > propio modo de escribir. > Verás cuando yo empecé (y aún me pasa), mis programas parecían escritos > en java o c excepto que usaba lenguaje PY. > Pero cambiando algunas cosas podría pasar por java, etc. > > Para ilustrarlo mejor compara el código que ha escrito Chema con el mio > del principio: (aunque ambos usen formas distintas de conseguir los primos) > -----Codigo de Chema------ > > def primes(n): > > criba = {1,2}|set(range(3,n+1,2)) > seq = (set(range(i+i,n+1,i)) for i in xrange(3,n+1,2) if i in criba) > for x in seq: > criba -= x > > return criba > -----------El mio--------------- > def fprimos(n,x): > l=[] > for i in range(n,x): > isprime=1 > for k in range(2,i): > if i % k ==0 and i<>k: > isprime=0 > break > if isprime==1: > l.append(i) > return l > --------------------------------------- > > Como ves, hay una gran diferencia, a parte de estar más optimizado y > usar recursos propios de PY. > > Saludos. > La mayor diferencia entre el codigo de Chema y el tuyo no está en que uno sea más o menos 'Pythonico'. La mayor diferencia está en el algoritmo, el empleó uno optimizado y muy conocido (criba de Erastotenes) y tú empleas un algoritmo de fuerza bruta. Si ignoraras los pares y buscaras solo hasta la raíz cuadrada mas uno, tu algoritmo seria mas optimo. Aunque lo mejor es siempre documentarse y buscar un algoritmo optimizado que para esta clase de problemas están mas que resueltos. De todos modos, empleando tu mismo método, se puede 'reconstruir' para hacerlo mas 'pythonico', pero en este caso no podemos compararlo con el de Chema, porque aunque el resultado es el mismo, empleáis caminos distintos. Yo te sugiero que la mejor manera de aprender el "estilo" de Python es leer mucho código Python y ver los ejemplos utilizados en algún buen libro sobre aprender Python. -- joe di castro http://joedicastro.com From kausdiv en gmail.com Wed Dec 26 19:20:17 2012 From: kausdiv en gmail.com (kausdiv) Date: Wed, 26 Dec 2012 19:20:17 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: <50DB3EAD.8020502@joedicastro.com> References: <50DACB99.4090903@gmail.com> <50DB3682.6070800@gmail.com> <50DB3EAD.8020502@joedicastro.com> Message-ID: <50DB3FE1.6050104@gmail.com> 100% de acuerdo. Voy a poner en marcha lo que sugieres de los pares, etc. En cuanto a los libros, lo que he encontrado está en inglés. Esta lista me sirve de mucho porque aunque escribo poco me fijo en los trozos de código que ponéis. Saludos. Saludos. > La mayor diferencia entre el codigo de Chema y el tuyo no está en que > uno sea más o menos 'Pythonico'. La mayor diferencia está en el > algoritmo, el empleó uno optimizado y muy conocido (criba de > Erastotenes) y tú empleas un algoritmo de fuerza bruta. Si ignoraras los > pares y buscaras solo hasta la raíz cuadrada mas uno, tu algoritmo seria > mas optimo. Aunque lo mejor es siempre documentarse y buscar un > algoritmo optimizado que para esta clase de problemas están mas que > resueltos. De todos modos, empleando tu mismo método, se puede > 'reconstruir' para hacerlo mas 'pythonico', pero en este caso no podemos > compararlo con el de Chema, porque aunque el resultado es el mismo, > empleáis caminos distintos. > > Yo te sugiero que la mejor manera de aprender el "estilo" de Python es > leer mucho código Python y ver los ejemplos utilizados en algún buen > libro sobre aprender Python. > From lasizoillo en gmail.com Wed Dec 26 19:20:28 2012 From: lasizoillo en gmail.com (lasizoillo) Date: Wed, 26 Dec 2012 19:20:28 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: <50DB347A.7090109@gmail.com> References: <50DACB99.4090903@gmail.com> <50DB347A.7090109@gmail.com> Message-ID: El día 26 de diciembre de 2012 18:31, kausdiv escribió: > Muchas gracias a todos. He aprendido mucho. > Chema, precisamente me refería a esa forma de escribir en python. Gracias. > > Una pregunta: ¿ como hacéis para medir el tiempo de ejecución de una función > ? Sabia hacerlo en Pascal pero no en PY. Con ipython tienes el comando timeit, que puesto delante de una linea de python te hace una estimación del tiempo que tarda en ejecutarse. Para un ajuste más fino uso un profiler: http://docs.python.org/2/library/profile.html http://pypi.python.org/pypi/pyprof2calltree/ > > Y una sugerencia: ¿ que os parece organizar un concurso sobre un el programa > py más rápido en calcular los primeros 1.000.000 de número primos ? > Sería aburrido definir las restricciones. ¿Está permitido cython, numpy, ctypes y modulos en c, pypy, ...? Luego habría que definir un lugar donde ejecutar las pruebas. No todos los pythons tienen las mismas opciones de compilación y eso puede afectar al ranking de los programas. Lo que en tu máquina con una versión es más rápido en la de otro con otra versión puede ser más lento y vice versa. > ¿ Recordáis hace años aquellos concursos en c y ensamblador de 3Kb. lo que > conseguían hacer ? Yo tenia uno que recreaba un paisaje marciano y solo > ocupaba 3kb. (creo recordar) > Lo recuerdo con cariño, pero cuando he visto code golf[1] me irrita bastante. Para programar con ese espiritu prefiero los microcontroladores, no el usar malas practicas sobre un lenguaje bonito. [1] http://codegolf.stackexchange.com/questions/54/tips-for-golfing-in-python Quizá te interese participar en http://projecteuler.net/ Tiene un montón de retos matemáticos que se resuelven mediante programación. Es una forma entretenida de ir aprendiendo los dos a la vez. Un abrazo, Javi From joe en joedicastro.com Wed Dec 26 19:28:03 2012 From: joe en joedicastro.com (joe di castro) Date: Wed, 26 Dec 2012 19:28:03 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: <50DB3FE1.6050104@gmail.com> References: <50DACB99.4090903@gmail.com> <50DB3682.6070800@gmail.com> <50DB3EAD.8020502@joedicastro.com> <50DB3FE1.6050104@gmail.com> Message-ID: <50DB41B3.7090509@joedicastro.com> On 26/12/12 19:20, kausdiv wrote: > 100% de acuerdo. > Voy a poner en marcha lo que sugieres de los pares, etc. > > En cuanto a los libros, lo que he encontrado está en inglés. Esta lista > me sirve de mucho porque aunque escribo poco me fijo en los trozos de > código que ponéis. > > Saludos. > > Saludos. >> La mayor diferencia entre el codigo de Chema y el tuyo no está en que >> uno sea más o menos 'Pythonico'. La mayor diferencia está en el >> algoritmo, el empleó uno optimizado y muy conocido (criba de >> Erastotenes) y tú empleas un algoritmo de fuerza bruta. Si ignoraras los >> pares y buscaras solo hasta la raíz cuadrada mas uno, tu algoritmo seria >> mas optimo. Aunque lo mejor es siempre documentarse y buscar un >> algoritmo optimizado que para esta clase de problemas están mas que >> resueltos. De todos modos, empleando tu mismo método, se puede >> 'reconstruir' para hacerlo mas 'pythonico', pero en este caso no podemos >> compararlo con el de Chema, porque aunque el resultado es el mismo, >> empleáis caminos distintos. >> >> Yo te sugiero que la mejor manera de aprender el "estilo" de Python es >> leer mucho código Python y ver los ejemplos utilizados en algún buen >> libro sobre aprender Python. >> > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > Sobre libros, tienes una amplia referencia aquí: http://python-hispano.org/Libros No están todos, me toca actualizarla pronto, pero si casi todos y varios en español. Saludos -- joe di castro http://joedicastro.com From pych3m4 en gmail.com Wed Dec 26 21:22:42 2012 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 26 Dec 2012 21:22:42 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: <50DB3682.6070800@gmail.com> References: <50DACB99.4090903@gmail.com> <50DB3682.6070800@gmail.com> Message-ID: El día 26 de diciembre de 2012 18:40, kausdiv escribió: > Para ilustrarlo mejor compara el código que ha escrito Chema con el mio del > principio: (aunque ambos usen formas distintas de conseguir los primos) No son comparables ya que se tratan de diferentes algoritmos. Tan sólo pretendía ilustrar que a veces es el lenguaje es quién determina qué método va mejor. > -----Codigo de Chema------ > > > def primes(n): > > criba = {1,2}|set(range(3,n+1,2)) > seq = (set(range(i+i,n+1,i)) for i in xrange(3,n+1,2) if i in criba) > for x in seq: > criba -= x > > return criba > -----------El mio--------------- > > def fprimos(n,x): > l=[] > for i in range(n,x): > isprime=1 > for k in range(2,i): > if i % k ==0 and i<>k: > isprime=0 > break > if isprime==1: > l.append(i) > return l > --------------------------------------- Pongo la versión que sería "comparable" con ésta (menos optimizada que la que usaba sets): def fprimos(n,x): def isprime(n): return all(n%k!=0 for k in range(2,n)) return [x for x in range(n,x) if isprime(x)] en una sóla línea: def fprimos(n,x): return [x for x in range(n,x) if all(n%k!=0 for k in range(2,n))] Algunas recomendaciones: 1) evitar almacenar estados intermedios (fuera contadores y variables intermedias) 2) huir del list.append() (usar las "compresiones" en su lugar) 3) la mejor optimización es saber usar los recursos del lenguaje (sum, max/min, all/any, sorted, zip, reduce, itertools, collections, ...) 4) evitar convertir los interadores a listas hasta el último momento (usar 'itertools') -- Hyperreals *R: http://ch3m4.org/blog Quarks, bits y otras criaturas infinitesimales From pych3m4 en gmail.com Wed Dec 26 21:26:15 2012 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 26 Dec 2012 21:26:15 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> <50DB3682.6070800@gmail.com> Message-ID: El día 26 de diciembre de 2012 21:22, Chema Cortes escribió: > en una sóla línea: > > def fprimos(n,x): > return [x for x in range(n,x) if all(n%k!=0 for k in range(2,n))] He copiado y pegado muy rápido. La versión correcta: def fprimos(n,x): return [x for x in range(n,x) if all(x%k!=0 for k in range(2,x))] -- Hyperreals *R: http://ch3m4.org/blog Quarks, bits y otras criaturas infinitesimales From pych3m4 en gmail.com Wed Dec 26 21:31:23 2012 From: pych3m4 en gmail.com (Chema Cortes) Date: Wed, 26 Dec 2012 21:31:23 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> <50DB3682.6070800@gmail.com> Message-ID: El día 26 de diciembre de 2012 21:26, Chema Cortes escribió: > El día 26 de diciembre de 2012 21:22, Chema Cortes escribió: > >> en una sóla línea: >> >> def fprimos(n,x): >> return [x for x in range(n,x) if all(n%k!=0 for k in range(2,n))] > > He copiado y pegado muy rápido. La versión correcta: > > def fprimos(n,x): > return [x for x in range(n,x) if all(x%k!=0 for k in range(2,x))] Ibídem :P def fprimos(n,x): def isprime(p): return all(p%k!=0 for k in range(2,p)) return [i for i in range(n,x) if isprime(i)] def fprimos(n,x): return [i for i in range(n,x) if all(i%k!=0 for k in range(2,i))] Siento la confusión. -- Hyperreals *R: http://ch3m4.org/blog Quarks, bits y otras criaturas infinitesimales From monobot.soft en gmail.com Wed Dec 26 23:30:10 2012 From: monobot.soft en gmail.com (monoBOT) Date: Wed, 26 Dec 2012 22:30:10 +0000 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> <50DB3682.6070800@gmail.com> Message-ID: Para medir el tiempo de proceso yo uso lo siguiente: #! / usr / bin / env python # -*- coding: iso-8859-1 -*- import time def inicio(): '''establece el tiempo de incio del proceso sin variables, sin salida''' return time.time() def final(t_inicio): '''define el final del proceso, devuelve el tiempo transcurrido en dias, horas minutos \n y segundos (estos con 4 decimales de precision) sin variables, salida por pantalla''' tsecs = (time.time() - t_inicio) if tsecs > 60: if tsecs >= 3600: if tsecs >= 86400: print 'Tiempo de proceso:' print ' % d dias, % d horas, % d minutos, % .4f segundos.' % (((tsecs / 86400)), ( (tsecs % 86400) / 3600), ((tsecs % 86400) % 3600 / 60), ((tsecs % 3600) % 60)) else: print 'Tiempo de proceso:' print ' % d horas, % d minutos, % .4f segundos.' % (((tsecs / 3600)), ( (tsecs % 3600) / 60), ((tsecs % 3600) % 60)) else: print 'Tiempo de proceso:' print ' % d minutos, % .4f segundos.' % (((tsecs % 3600) / 60), ((tsecs % 3600) % 60)) else: print 'Tiempo de proceso:' print ' % .4f segundos.' % ((tsecs % 3600) % 60) def calc_tiempo(f): ''' @funcionamiento: funcion decoradora que calcula el tiempo de ejecución de una funcion ''' def decor(*args, **kwargs): ini = inicio() res = f(*args, **kwargs) final(ini) return res return decor @calc_tiempo def prim(n): if n == 1: return False if n == 2 or n == 3: return n max = int(n ** 0.5) + 1 for m in xrange(2, max): if n % m: if m == int(n ** 0.5): return n else: return False prim(129939999499359499) Me gustaria escuchar lo que los verdaderos gurus piensan, saludos! El 26 de diciembre de 2012 20:31, Chema Cortes escribió: > El día 26 de diciembre de 2012 21:26, Chema Cortes > escribió: > > El día 26 de diciembre de 2012 21:22, Chema Cortes > escribió: > > > >> en una sóla línea: > >> > >> def fprimos(n,x): > >> return [x for x in range(n,x) if all(n%k!=0 for k in range(2,n))] > > > > He copiado y pegado muy rápido. La versión correcta: > > > > def fprimos(n,x): > > return [x for x in range(n,x) if all(x%k!=0 for k in range(2,x))] > > Ibídem :P > > def fprimos(n,x): > > def isprime(p): > return all(p%k!=0 for k in range(2,p)) > > return [i for i in range(n,x) if isprime(i)] > > > def fprimos(n,x): > return [i for i in range(n,x) if all(i%k!=0 for k in range(2,i))] > > > Siento la confusión. > > -- > Hyperreals *R: http://ch3m4.org/blog > Quarks, bits y otras criaturas infinitesimales > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From davidmenhur en gmail.com Thu Dec 27 00:50:24 2012 From: davidmenhur en gmail.com (=?UTF-8?B?RGHPgGlk?=) Date: Thu, 27 Dec 2012 00:50:24 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> <50DB3682.6070800@gmail.com> Message-ID: Más fácil: import time t0 = time.time() [...] dt = time.time() - t0 print int(dt / 3600), ':', int(dt % 3600 / 60), ':', dt % 60 Si quieres, puedes meter eso en un decorador, pero yo lo uso directamente. Así puedo medir tanto las funciones como el resto del proceso. 2012/12/26 monoBOT : > Para medir el tiempo de proceso yo uso lo siguiente: > > #! / usr / bin / env python > # -*- coding: iso-8859-1 -*- > > import time > > > def inicio(): > '''establece el tiempo de incio del proceso > sin variables, sin salida''' > return time.time() > > > def final(t_inicio): > '''define el final del proceso, devuelve el tiempo transcurrido en dias, > horas minutos \n > y segundos (estos con 4 decimales de precision) > sin variables, salida por pantalla''' > tsecs = (time.time() - t_inicio) > if tsecs > 60: > if tsecs >= 3600: > if tsecs >= 86400: > print 'Tiempo de proceso:' > print ' % d dias, % d horas, % d minutos, % .4f > segundos.' % (((tsecs / 86400)), ( > (tsecs % 86400) / 3600), ((tsecs % 86400) % 3600 > / 60), ((tsecs % 3600) % 60)) > else: > print 'Tiempo de proceso:' > print ' % d horas, % d minutos, % .4f segundos.' % > (((tsecs / 3600)), ( > (tsecs % 3600) / 60), ((tsecs % 3600) % 60)) > else: > print 'Tiempo de proceso:' > print ' % d minutos, % .4f segundos.' % (((tsecs % 3600) / 60), > ((tsecs % 3600) % 60)) > else: > print 'Tiempo de proceso:' > print ' % .4f segundos.' % ((tsecs % 3600) % 60) > > > def calc_tiempo(f): > ''' > @funcionamiento: funcion decoradora que calcula el tiempo de ejecución > de una funcion > ''' > def decor(*args, **kwargs): > ini = inicio() > res = f(*args, **kwargs) > final(ini) > return res > return decor > > > @calc_tiempo > def prim(n): > if n == 1: > return False > if n == 2 or n == 3: > return n > max = int(n ** 0.5) + 1 > for m in xrange(2, max): > if n % m: > if m == int(n ** 0.5): > return n > else: > return False > > prim(129939999499359499) > > > Me gustaria escuchar lo que los verdaderos gurus piensan, saludos! > > > El 26 de diciembre de 2012 20:31, Chema Cortes escribió: > >> El día 26 de diciembre de 2012 21:26, Chema Cortes >> escribió: >> > El día 26 de diciembre de 2012 21:22, Chema Cortes >> > escribió: >> > >> >> en una sóla línea: >> >> >> >> def fprimos(n,x): >> >> return [x for x in range(n,x) if all(n%k!=0 for k in range(2,n))] >> > >> > He copiado y pegado muy rápido. La versión correcta: >> > >> > def fprimos(n,x): >> > return [x for x in range(n,x) if all(x%k!=0 for k in range(2,x))] >> >> Ibídem :P >> >> def fprimos(n,x): >> >> def isprime(p): >> return all(p%k!=0 for k in range(2,p)) >> >> return [i for i in range(n,x) if isprime(i)] >> >> >> def fprimos(n,x): >> return [i for i in range(n,x) if all(i%k!=0 for k in range(2,i))] >> >> >> Siento la confusión. >> >> -- >> Hyperreals *R: http://ch3m4.org/blog >> Quarks, bits y otras criaturas infinitesimales >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ > > > > > -- > monoBOT > Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > From pych3m4 en gmail.com Thu Dec 27 01:58:13 2012 From: pych3m4 en gmail.com (Chema Cortes) Date: Thu, 27 Dec 2012 01:58:13 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> <50DB3682.6070800@gmail.com> Message-ID: El día 27 de diciembre de 2012 00:50, Da?id escribió: > Más fácil: > > import time > > t0 = time.time() > > [...] > > dt = time.time() - t0 > > print int(dt / 3600), ':', int(dt % 3600 / 60), ':', dt % 60 > > Si quieres, puedes meter eso en un decorador, pero yo lo uso > directamente. Así puedo medir tanto las funciones como el resto del > proceso. No sé si nos estamos saliendo del tema. Existe un problema, time.time depende de la plataforma. En windows, por ejemplo, es más preciso time.clock, reloj del sistema, que time.time, tiempo de proceso. En linux es al revés. En python 3.3 se introduce time.perf_counter() que ofrece siempre el reloj más preciso para hacer una medición "benchmark" y time.process_time() para medir tiempos de CPU "profiling".[1] Por éso es recomendable usar el módulo timeit para medir pequeños fragmentos de código. Timeit usa siempre el reloj más preciso, además de desactivar servicios que podrían afectar a la medida como el "recolector de basura" (garbage collector). Lo más sencillo para usar timeit es emplear ipython o invocarlo directamente como módulo: python -m timeit -n100 miprograma.py [1]: http://www.python.org/dev/peps/pep-0418 "PEP-0418" -- Hyperreals *R: http://ch3m4.org/blog Quarks, bits y otras criaturas infinitesimales From jcea en jcea.es Thu Dec 27 05:15:26 2012 From: jcea en jcea.es (Jesus Cea) Date: Thu, 27 Dec 2012 05:15:26 +0100 Subject: [Python-es] Browser Python Message-ID: <50DBCB5E.5010302@jcea.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Sintaxis limitada, pero prometedor: http://www.brython.info/ - -- Jesús Cea Avión _/_/ _/_/_/ _/_/_/ jcea en jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/_/_/_/ . _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with undefined - http://www.enigmail.net/ iQCVAwUBUNvLW5lgi5GaxT1NAQKq0AP/SrOElWF+YB2Y/i4ch+XrqIkGUUJTWl66 2qj9Di9hLToXhCZ8AJv7zSsPAHxJD8EGF3XjOCieCtOr1LJ/LDC6heOGd0qVybos onOZtfMLTqeA2tjw5Yic6NASA2BLg0JHoIFg81bNIBps6GJb4G/4w3yA2RCs0v9v er0O4c9UTbQ= =8PWp -----END PGP SIGNATURE----- From monobot.soft en gmail.com Thu Dec 27 10:32:30 2012 From: monobot.soft en gmail.com (monoBOT) Date: Thu, 27 Dec 2012 09:32:30 +0000 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> <50DB3682.6070800@gmail.com> Message-ID: El 26 de diciembre de 2012 23:50, Da?id escribió: > > Si quieres, puedes meter eso en un decorador, pero yo lo uso > directamente. Así puedo medir tanto las funciones como el resto del > proceso. Yo la mia la uso tanto como decorador como directamente. -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From monobot.soft en gmail.com Thu Dec 27 10:41:43 2012 From: monobot.soft en gmail.com (monoBOT) Date: Thu, 27 Dec 2012 09:41:43 +0000 Subject: [Python-es] Browser Python In-Reply-To: <50DBCB5E.5010302@jcea.es> References: <50DBCB5E.5010302@jcea.es> Message-ID: Pues si, magnifica idea. 2012/12/27 Jesus Cea > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Sintaxis limitada, pero prometedor: > > http://www.brython.info/ > > - -- > Jesús Cea Avión _/_/ _/_/_/ _/_/_/ > jcea en jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ > jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/_/_/_/ > . _/_/ _/_/ _/_/ _/_/ _/_/ > "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ > "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ > "El amor es poner tu felicidad en la felicidad de otro" - Leibniz > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (GNU/Linux) > Comment: Using GnuPG with undefined - http://www.enigmail.net/ > > iQCVAwUBUNvLW5lgi5GaxT1NAQKq0AP/SrOElWF+YB2Y/i4ch+XrqIkGUUJTWl66 > 2qj9Di9hLToXhCZ8AJv7zSsPAHxJD8EGF3XjOCieCtOr1LJ/LDC6heOGd0qVybos > onOZtfMLTqeA2tjw5Yic6NASA2BLg0JHoIFg81bNIBps6GJb4G/4w3yA2RCs0v9v > er0O4c9UTbQ= > =8PWp > -----END PGP SIGNATURE----- > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- *monoBOT* Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From camilo.hernandez en gmail.com Thu Dec 27 13:22:37 2012 From: camilo.hernandez en gmail.com (Juan Camilo Hernandez Diaz) Date: Thu, 27 Dec 2012 07:22:37 -0500 Subject: [Python-es] Creacion de mascaras con basemap Message-ID: Hola a todos en la lista. Les escribo para realizar la siguiente consulta: Estoy trabajanado con un conjunto de arrays (NumPy) que representa un campo de temperatura observados mediante satelite, deseo extraer la temperatura promedio de una region especifica la cual puedo delimitar mediante un poligono almacenado en un shapefile. Es posible crear una mascara utilizando este shapefile y extraer los datos contenidos empleando para ello basemap? Existe otra posibilidad? De antemano muchas gracias a todos. ---- Juan Camilo Hernandez Diaz ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kikocorreoso en gmail.com Thu Dec 27 13:55:04 2012 From: kikocorreoso en gmail.com (Kiko) Date: Thu, 27 Dec 2012 13:55:04 +0100 Subject: [Python-es] Browser Python In-Reply-To: References: <50DBCB5E.5010302@jcea.es> Message-ID: El jueves, 27 de diciembre de 2012, monoBOT escribió: > Pues si, magnifica idea. > > > 2012/12/27 Jesus Cea >> >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> Sintaxis limitada, pero prometedor: >> >> http://www.brython.info/ ¿Alguien le ve futuro a cosas de estas? Como curiosidad es interesante pero para casos prácticos siempre estaría limitado y un paso por detrás. ¿Cómo lo véis? >> >> - -- >> Jesús Cea Avión _/_/ _/_/_/ _/_/_/ >> jcea en jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ >> jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/_/_/_/ >> . _/_/ _/_/ _/_/ _/_/ _/_/ >> "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ >> "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ >> "El amor es poner tu felicidad en la felicidad de otro" - Leibniz >> -----BEGIN PGP SIGNATURE----- >> Version: GnuPG v1.4.10 (GNU/Linux) >> Comment: Using GnuPG with undefined - http://www.enigmail.net/ >> >> iQCVAwUBUNvLW5lgi5GaxT1NAQKq0AP/SrOElWF+YB2Y/i4ch+XrqIkGUUJTWl66 >> 2qj9Di9hLToXhCZ8AJv7zSsPAHxJD8EGF3XjOCieCtOr1LJ/LDC6heOGd0qVybos >> onOZtfMLTqeA2tjw5Yic6NASA2BLg0JHoIFg81bNIBps6GJb4G/4w3yA2RCs0v9v >> er0O4c9UTbQ= >> =8PWp >> -----END PGP SIGNATURE----- >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ > > > > -- > monoBOT > Visite mi sitio(Visit my site): monobotblog.alvarezalonso.es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From carlos.zun en gmail.com Thu Dec 27 14:15:32 2012 From: carlos.zun en gmail.com (Carlos Zuniga) Date: Thu, 27 Dec 2012 08:15:32 -0500 Subject: [Python-es] Browser Python In-Reply-To: References: <50DBCB5E.5010302@jcea.es> Message-ID: 2012/12/27 Kiko : > > > El jueves, 27 de diciembre de 2012, monoBOT > escribió: > >> Pues si, magnifica idea. >> >> >> 2012/12/27 Jesus Cea >>> >>> -----BEGIN PGP SIGNED MESSAGE----- >>> Hash: SHA1 >>> >>> Sintaxis limitada, pero prometedor: >>> >>> http://www.brython.info/ > > ¿Alguien le ve futuro a cosas de estas? Como curiosidad es interesante pero > para casos prácticos siempre estaría limitado y un paso por detrás. ¿Cómo lo > véis? > Puede tener futuro similar al de herramientas como less [0]. Compilar al vuelo durante el desarrollo y generar un archivo final en el release. Y la ventaja sobre cosas como pyjs [1] es que no necesitas instalar nada más que un archivo javascript en tu html. El único paso por detrás sería con respecto a las más nuevas versiones de python y la falta de algunos módulos (que seguro no tendrían sentido en la web). Pero lo mismo pasa con los demás interpretes alternativos, no? jython, ironpython, etc. Saludos [0] http://lesscss.org/ [1] http://pyjs.org/ -- A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos de leer manuales. From kikocorreoso en gmail.com Thu Dec 27 15:06:34 2012 From: kikocorreoso en gmail.com (Kiko) Date: Thu, 27 Dec 2012 15:06:34 +0100 Subject: [Python-es] Creacion de mascaras con basemap In-Reply-To: References: Message-ID: El 27 de diciembre de 2012 13:22, Juan Camilo Hernandez Diaz < camilo.hernandez en gmail.com> escribió: > Estoy trabajanado con un conjunto de arrays (NumPy) que representa un > campo de temperatura observados mediante satelite, deseo extraer la > temperatura promedio de una region especifica la cual puedo delimitar > mediante un poligono almacenado en un shapefile. Es posible crear una > mascara utilizando este shapefile y extraer los datos contenidos empleando > para ello basemap? Existe otra posibilidad? No entiendo muy bien tu problema. A priori, con basemap se puede hacer lo que tú (creo) que quieres hacer. En numpy existen los masked arrays, en matplotlib (+basemap) se pueden usar máscaras para solo mostrar o poner foco sobre lo que te interese. Si explicas un poco mejor cómo son tus datos, qué es lo que quieres hacer con ellos y qué es lo que quieres representar quizá obtengas una respuesta mejor. Saludos. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From kikocorreoso en gmail.com Thu Dec 27 15:15:40 2012 From: kikocorreoso en gmail.com (Kiko) Date: Thu, 27 Dec 2012 15:15:40 +0100 Subject: [Python-es] Browser Python In-Reply-To: References: <50DBCB5E.5010302@jcea.es> Message-ID: > > ¿Alguien le ve futuro a cosas de estas? Como curiosidad es interesante > pero > > para casos prácticos siempre estaría limitado y un paso por detrás. > ¿Cómo lo > > véis? > > > > Puede tener futuro similar al de herramientas como less [0]. Compilar > al vuelo durante el desarrollo y generar un archivo final en el > release. Y la ventaja sobre cosas como pyjs [1] es que no necesitas > instalar nada más que un archivo javascript en tu html. > > El único paso por detrás sería con respecto a las más nuevas versiones > de python y la falta de algunos módulos (que seguro no tendrían > sentido en la web). Pero lo mismo pasa con los demás interpretes > alternativos, no? jython, ironpython, etc. > > Saludos > > [0] http://lesscss.org/ > [1] http://pyjs.org/ > > Hablando desde el desconocimiento total, mi temor es que al final te quedas con un subconjunto (de python) que 'se traduce' a un subconjunto (de js), quedando limitado y, quizá, desfasado, siendo solo útil para cosas muy limitadas y nunca como reemplazo generalista a js. ¿Alguien lo ha estado usando y tiene una opinión al respecto? ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From javier.rovegno en gmail.com Thu Dec 27 14:19:05 2012 From: javier.rovegno en gmail.com (Javier Rovegno Campos) Date: Thu, 27 Dec 2012 10:19:05 -0300 Subject: [Python-es] Creacion de mascaras con basemap In-Reply-To: References: Message-ID: Hola Juan Camilo: Para lo que quieres hacer creo que puedes: Llevar tu array de datos y crear un Geotiff con la libreria Gdal http://www.gdal.org/gdal_utilities.html Despues para "recortar" tus datos puedes realizar ese procedimiento http://ideaschile.wordpress.com/2009/11/12/crear-geotiff-de-una-cuenca-con-herramientas-libres/ Saludos 2012/12/27 Juan Camilo Hernandez Diaz : > Hola a todos en la lista. > > Les escribo para realizar la siguiente consulta: > > Estoy trabajanado con un conjunto de arrays (NumPy) que representa un campo > de temperatura observados mediante satelite, deseo extraer la temperatura > promedio de una region especifica la cual puedo delimitar mediante un > poligono almacenado en un shapefile. Es posible crear una mascara utilizando > este shapefile y extraer los datos contenidos empleando para ello basemap? > Existe otra posibilidad? > > De antemano muchas gracias a todos. > > ---- > Juan Camilo Hernandez Diaz > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Javier Rovegno C. From francois.dion en gmail.com Thu Dec 27 17:30:57 2012 From: francois.dion en gmail.com (Francois Dion) Date: Thu, 27 Dec 2012 11:30:57 -0500 Subject: [Python-es] Browser Python In-Reply-To: <50DBCB5E.5010302@jcea.es> References: <50DBCB5E.5010302@jcea.es> Message-ID: On Wed, Dec 26, 2012 at 11:15 PM, Jesus Cea wrote: > Sintaxis limitada, pero prometedor: > > http://www.brython.info/ Hola Jesús, Cuando vi esto en Noviembre, fue mi pensamiento. En consideración que Pierre empezó con la primera versión publica 1 mes atrás, y que ahora hay cosas como listas, int y str muy eficiente, comprensión de listas, operador ternario, SVG, dir(), exec() y dis, me parece que sera realidad en 2013 el objetivo de remplazar javascript. Por eso, estoy ayudando en varios aspectos, como corregir bugs, traducción en ingles, español etc. Con doc y win, se puede hacer todo lo que javascript ofrece con document y window. Recursos en español: Mi blog: http://raspberry-python.blogspot.com/2012/12/python-en-todo-lugar.html Lista (foro google): https://groups.google.com/forum/?fromgroups=#!forum/brython-es En cuanto al sitio, Pierre lo hace en francés y después, hago la traducción en ingles y español. Los cambios se efectúan tan rápidamente que es difícil a seguir... Si le gustaría a alguien hacer la traducción de la pagina brython/doc/en/implem.html en ingles (o en doc/fr/implem.html en francés) me ayudaría mucho. http://code.google.com/p/brython/source/checkout He traducido index.html y brython.html. Voy a terminar modele.html este fin de semana. Oh, y ¿cual es la forma correcta de decir "console" en castellano? ( http://www.brython.info/tests/console_en.html ) François -- www.pyptug.org - raspberry-python.blogspot.com From nadaird en gmail.com Thu Dec 27 17:38:41 2012 From: nadaird en gmail.com (G V) Date: Thu, 27 Dec 2012 17:38:41 +0100 Subject: [Python-es] Browser Python In-Reply-To: References: <50DBCB5E.5010302@jcea.es> Message-ID: generalmente se traduce como consola, terminal o linea de comandos 2012/12/27 Francois Dion > On Wed, Dec 26, 2012 at 11:15 PM, Jesus Cea wrote: > > Sintaxis limitada, pero prometedor: > > > > http://www.brython.info/ > > Hola Jesús, > > Cuando vi esto en Noviembre, fue mi pensamiento. En consideración que > Pierre empezó con la primera versión publica 1 mes atrás, y que ahora > hay cosas como listas, int y str muy eficiente, comprensión de listas, > operador ternario, SVG, dir(), exec() y dis, me parece que sera > realidad en 2013 el objetivo de remplazar javascript. Por eso, estoy > ayudando en varios aspectos, como corregir bugs, traducción en ingles, > español etc. > > Con doc y win, se puede hacer todo lo que javascript ofrece con > document y window. > > Recursos en español: > > Mi blog: > http://raspberry-python.blogspot.com/2012/12/python-en-todo-lugar.html > > Lista (foro google): > https://groups.google.com/forum/?fromgroups=#!forum/brython-es > > En cuanto al sitio, Pierre lo hace en francés y después, hago la > traducción en ingles y español. Los cambios se efectúan tan > rápidamente que es difícil a seguir... > > Si le gustaría a alguien hacer la traducción de la pagina > brython/doc/en/implem.html en ingles (o en doc/fr/implem.html en > francés) me ayudaría mucho. > > http://code.google.com/p/brython/source/checkout > > He traducido index.html y brython.html. Voy a terminar modele.html > este fin de semana. Oh, y ¿cual es la forma correcta de decir > "console" en castellano? ( > http://www.brython.info/tests/console_en.html ) > > François > > -- > www.pyptug.org - raspberry-python.blogspot.com > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From francois.dion en gmail.com Thu Dec 27 17:53:16 2012 From: francois.dion en gmail.com (Francois Dion) Date: Thu, 27 Dec 2012 11:53:16 -0500 Subject: [Python-es] Browser Python In-Reply-To: References: <50DBCB5E.5010302@jcea.es> Message-ID: 2012/12/27 Kiko : > >> > ¿Alguien le ve futuro a cosas de estas? Como curiosidad es interesante >> > pero >> > para casos prácticos siempre estaría limitado y un paso por detrás. >> > ¿Cómo lo >> > véis? >> > >> >> Puede tener futuro similar al de herramientas como less [0]. Compilar >> al vuelo durante el desarrollo y generar un archivo final en el >> release. Y la ventaja sobre cosas como pyjs [1] es que no necesitas >> instalar nada más que un archivo javascript en tu html. >> >> El único paso por detrás sería con respecto a las más nuevas versiones >> de python y la falta de algunos módulos (que seguro no tendrían >> sentido en la web). Pero lo mismo pasa con los demás interpretes >> alternativos, no? jython, ironpython, etc. >> >> Saludos >> >> [0] http://lesscss.org/ >> [1] http://pyjs.org/ >> > > Hablando desde el desconocimiento total, mi temor es que al final te quedas > con un subconjunto (de python) que 'se traduce' a un subconjunto (de js), > quedando limitado y, quizá, desfasado, siendo solo útil para cosas muy > limitadas y nunca como reemplazo generalista a js. Es un buen punto. Por eso, debemos participar y asegurarnos de que no falta nada importante. Estoy trabajando a añadir id() y is. No es algo grandioso (como class), pero poco a poco y tendremos todo el lenguaje Python. > ¿Alguien lo ha estado usando y tiene una opinión al respecto? A cada vez que encuentre un problema o limitación, Pierre tiene una solución adentro de un periodo de tiempo muy corto. Mi opinión es de utilizarlo y que se mejora. Cuando hay algo, enviar un mensaje a la lista brython (hay una en español, en francés y en ingles). François -- www.pyptug.org - raspberry-python.blogspot.com From kausdiv en gmail.com Thu Dec 27 23:44:18 2012 From: kausdiv en gmail.com (kausdiv) Date: Thu, 27 Dec 2012 23:44:18 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> <50DB3682.6070800@gmail.com> Message-ID: <50DCCF42.1080704@gmail.com> Precisamente a esa forma de código y las recomendaciones que has hecho, es lo que creo que marca la diferencia entre un programa pytoniano y uno más estilo c, java, etc. Muy bueno el código que has puesto. Refleja lo que quería decir y de camino se aprende. !! > Pongo la versión que sería "comparable" con ésta (menos optimizada que > la que usaba sets): > > def fprimos(n,x): > > def isprime(n): > return all(n%k!=0 for k in range(2,n)) > > return [x for x in range(n,x) if isprime(x)] > > en una sóla línea: > > def fprimos(n,x): > return [x for x in range(n,x) if all(n%k!=0 for k in range(2,n))] > > > > Algunas recomendaciones: > > 1) evitar almacenar estados intermedios (fuera contadores y variables > intermedias) > 2) huir del list.append() (usar las "compresiones" en su lugar) > 3) la mejor optimización es saber usar los recursos del lenguaje (sum, > max/min, all/any, sorted, zip, reduce, itertools, collections, ...) > 4) evitar convertir los interadores a listas hasta el último momento > (usar 'itertools') > > > > From joe en joedicastro.com Fri Dec 28 21:56:34 2012 From: joe en joedicastro.com (joe di castro) Date: Fri, 28 Dec 2012 21:56:34 +0100 Subject: [Python-es] Pythoniano y c niano In-Reply-To: References: <50DACB99.4090903@gmail.com> <50DB3682.6070800@gmail.com> Message-ID: <50DE0782.3090901@joedicastro.com> On 27/12/12 01:58, Chema Cortes wrote: Por cierto Chema, en los fragmentos de códigos que has publicado en este hilo cometes un pequeño desliz, actualmente al número uno no se le considera número primo y lo estas incluyendo. :) -- joe di castro http://joedicastro.com From jcea en jcea.es Sat Dec 29 15:55:14 2012 From: jcea en jcea.es (Jesus Cea) Date: Sat, 29 Dec 2012 15:55:14 +0100 Subject: [Python-es] Browser Python In-Reply-To: References: <50DBCB5E.5010302@jcea.es> Message-ID: <50DF0452.5090201@jcea.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 27/12/12 15:15, Kiko wrote: > Hablando desde el desconocimiento total, mi temor es que al final > te quedas con un subconjunto (de python) que 'se traduce' a un > subconjunto (de js), quedando limitado y, quizá, desfasado, siendo > solo útil para cosas muy limitadas y nunca como reemplazo > generalista a js. > > ¿Alguien lo ha estado usando y tiene una opinión al respecto? Ahora mismo, este proyecto es un subconjunto de Python. No tiene ni clases. Pero para mí incluso eso es preferible a tener que aprender JavaScript para realizar "chorraditas" en el navegador. La única pega es que añades 100Kbytes a tu página web (el intérprete). Sería interesante un compilador Python->JavaScript para desplegar javascript directo (y ahorrarnos esos 100Kbytes), pero como declaración política, que cuando veas el código fuente de la página aparezca el código python, merece un +1. ¡¡Visibilidad!!. - -- Jesús Cea Avión _/_/ _/_/_/ _/_/_/ jcea en jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/_/_/_/ . _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with undefined - http://www.enigmail.net/ iQCVAwUBUN8EUplgi5GaxT1NAQIrFQP/aIdmS3ypW5Mr+El5EXMYQl4EoOMqAjGy AxO/feYBUtopKIulTSiEn3s7ALxFSQzt3Sw1eno+aIXQvZTivoR3NwgQumfaTVNx das/7hTuAL4y7VsqdJPaO+2+fdqzAYxwtm4m/v82tI5BHvjc/kmC7SRWGbiiMmop cK57w+HcvO4= =l/hI -----END PGP SIGNATURE----- From lasizoillo en gmail.com Sat Dec 29 17:24:30 2012 From: lasizoillo en gmail.com (lasizoillo) Date: Sat, 29 Dec 2012 17:24:30 +0100 Subject: [Python-es] Browser Python In-Reply-To: <50DF0452.5090201@jcea.es> References: <50DBCB5E.5010302@jcea.es> <50DF0452.5090201@jcea.es> Message-ID: El día 29 de diciembre de 2012 15:55, Jesus Cea escribió: > Sería interesante un compilador Python->JavaScript para desplegar > javascript directo Algún año de estos tengo que probar rpyhonic http://pyppet.blogspot.com.es/2011/04/rpython-to-javascript.html No se si tendrá alguna utilidad, pero suena a una posible salida para no trabajar con javascript o guarradas como coffee script. Otra cosa que quiero mirar es Dart, aunque lo de python que genere javascript molaría para usar el mismo código en cliente y servidor. Algo como meteor.js, pero sin js :-) Un saludo, Javi From jcea en jcea.es Sat Dec 29 20:04:13 2012 From: jcea en jcea.es (Jesus Cea) Date: Sat, 29 Dec 2012 20:04:13 +0100 Subject: [Python-es] Revista de Hackers y Developers In-Reply-To: References: <1352147981.46607.YahooMailNeo@web163002.mail.bf1.yahoo.com> Message-ID: <50DF3EAD.9090403@jcea.es> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 06/11/12 14:07, Oscar Alberto Peña Céspedes wrote: > Muy buena, muy agradecido Yo hace tiempo que no veo el interés de hacer una "revista", teniendo la web. ¿Y algo tipo http://pycoders.com/, pero en castellano? - -- Jesús Cea Avión _/_/ _/_/_/ _/_/_/ jcea en jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/_/_/_/ . _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with undefined - http://www.enigmail.net/ iQCVAwUBUN8+rZlgi5GaxT1NAQKKZgQAiK+FTw38qItP/rZlJr15X4l/RRJGBuNz ccfg1p4WCUGIEutKTlCMmS1MFOKbqW3Q7N47YXE00wjn7EKCBIuSuXPBzZQUR8pG 5dAnqeN6ClHk2t+JHq3l76WaIe7a5TtE7tu2MMeuPX8gWPwPuGWZ/jwfwlP+SgSq Zv9PQXoQLTk= =a62j -----END PGP SIGNATURE----- From jbc.develop en gmail.com Sat Dec 29 21:04:54 2012 From: jbc.develop en gmail.com (Juan BC) Date: Sat, 29 Dec 2012 17:04:54 -0300 Subject: [Python-es] Revista de Hackers y Developers In-Reply-To: <50DF3EAD.9090403@jcea.es> References: <1352147981.46607.YahooMailNeo@web163002.mail.bf1.yahoo.com> <50DF3EAD.9090403@jcea.es> Message-ID: hola soy el editor de la revista python entre todos de PyAR http://revista.python.org.ar En estos momento estoy subiendo la revista #6 y restructurando la pagina web (les dejo a python españa la primera version digital de la revista http://es.scribd.com/doc/118338122/PET-6 ) Si quieren de aca a un mes (que termino de portar a sphinx todas las revistas) podemos sacar una nueva edición mas "internacional". Si alguien esta dispuesto a coordinar notas de españa yo me encargo de las de argentina El 29 de diciembre de 2012 16:04, Jesus Cea escribió: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 06/11/12 14:07, Oscar Alberto Peña Céspedes wrote: > > Muy buena, muy agradecido > > Yo hace tiempo que no veo el interés de hacer una "revista", teniendo > la web. > > ¿Y algo tipo http://pycoders.com/, pero en castellano? > > - -- > Jesús Cea Avión _/_/ _/_/_/ _/_/_/ > jcea en jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ > jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/_/_/_/ > . _/_/ _/_/ _/_/ _/_/ _/_/ > "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ > "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ > "El amor es poner tu felicidad en la felicidad de otro" - Leibniz > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (GNU/Linux) > Comment: Using GnuPG with undefined - http://www.enigmail.net/ > > iQCVAwUBUN8+rZlgi5GaxT1NAQKKZgQAiK+FTw38qItP/rZlJr15X4l/RRJGBuNz > ccfg1p4WCUGIEutKTlCMmS1MFOKbqW3Q7N47YXE00wjn7EKCBIuSuXPBzZQUR8pG > 5dAnqeN6ClHk2t+JHq3l76WaIe7a5TtE7tu2MMeuPX8gWPwPuGWZ/jwfwlP+SgSq > Zv9PQXoQLTk= > =a62j > -----END PGP SIGNATURE----- > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Juan B Cabral ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From jza en oooes.org Sat Dec 29 21:57:35 2012 From: jza en oooes.org (Alexandro Colorado) Date: Sat, 29 Dec 2012 14:57:35 -0600 Subject: [Python-es] Revista de Hackers y Developers In-Reply-To: References: <1352147981.46607.YahooMailNeo@web163002.mail.bf1.yahoo.com> <50DF3EAD.9090403@jcea.es> Message-ID: Suena como un excelente proyecto el de internacionalizar PEA. Le he dado en el pasado algo de publicidad. Del feedback que he tenido es que seguramente se puede promover mas y quizas tener mejorar el disenio. El contenido esta muy bien, pero seguramente este se ampliara si hay contribuciones de otras regiones. Reenviare este correo a PythonMexico haber si alguien tambien esta interesado en enviarles algun articulo. 2012/12/29 Juan BC > hola soy el editor de la revista python entre todos de PyAR > http://revista.python.org.ar > > En estos momento estoy subiendo la revista #6 y restructurando la pagina > web (les dejo a python españa la primera version digital de la revista > http://es.scribd.com/doc/118338122/PET-6 ) > > Si quieren de aca a un mes (que termino de portar a sphinx todas las > revistas) podemos sacar una nueva edición mas "internacional". Si alguien > esta dispuesto a coordinar notas de españa yo me encargo de las de argentina > > > > El 29 de diciembre de 2012 16:04, Jesus Cea escribió: > > -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> On 06/11/12 14:07, Oscar Alberto Peña Céspedes wrote: >> > Muy buena, muy agradecido >> >> Yo hace tiempo que no veo el interés de hacer una "revista", teniendo >> la web. >> >> ¿Y algo tipo http://pycoders.com/, pero en castellano? >> >> - -- >> Jesús Cea Avión _/_/ _/_/_/ _/_/_/ >> jcea en jcea.es - http://www.jcea.es/ _/_/ _/_/ _/_/ _/_/ _/_/ >> jabber / xmpp:jcea en jabber.org _/_/ _/_/ _/_/_/_/_/ >> . _/_/ _/_/ _/_/ _/_/ _/_/ >> "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ >> "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ >> "El amor es poner tu felicidad en la felicidad de otro" - Leibniz >> -----BEGIN PGP SIGNATURE----- >> Version: GnuPG v1.4.10 (GNU/Linux) >> Comment: Using GnuPG with undefined - http://www.enigmail.net/ >> >> iQCVAwUBUN8+rZlgi5GaxT1NAQKKZgQAiK+FTw38qItP/rZlJr15X4l/RRJGBuNz >> ccfg1p4WCUGIEutKTlCMmS1MFOKbqW3Q7N47YXE00wjn7EKCBIuSuXPBzZQUR8pG >> 5dAnqeN6ClHk2t+JHq3l76WaIe7a5TtE7tu2MMeuPX8gWPwPuGWZ/jwfwlP+SgSq >> Zv9PQXoQLTk= >> =a62j >> -----END PGP SIGNATURE----- >> _______________________________________________ >> Python-es mailing list >> Python-es en python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > > -- > Juan B Cabral > > _______________________________________________ > Python-es mailing list > Python-es en python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Alexandro Colorado Apache OpenOffice Contributor http://es.openoffice.org ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From olemis en gmail.com Sat Dec 29 22:42:56 2012 From: olemis en gmail.com (Olemis Lang) Date: Sat, 29 Dec 2012 16:42:56 -0500 Subject: [Python-es] Revista de Hackers y Developers In-Reply-To: References: <1352147981.46607.YahooMailNeo@web163002.mail.bf1.yahoo.com> <50DF3EAD.9090403@jcea.es> Message-ID: On 12/29/12, Juan BC wrote: > hola soy el editor de la revista python entre todos de PyAR > http://revista.python.org.ar > :) bueno saber q hay más revistas.ar q hablan acerca d Python > En estos momento estoy subiendo la revista #6 y restructurando la pagina > web (les dejo a python españa la primera version digital de la revista > http://es.scribd.com/doc/118338122/PET-6 ) > solo para seguir la rima ... la revista TuxInfo [1]_ (argentina , pero con contribuciones d colaboradores d muchas otras naciones ;) . Por allí he escrito desde hace un buen tiempo acerca de Python . Además está a punto d lanzar su número 54 donde aparecerá un artículo acerca d Apache? Bloodhound , un gestor de incidencias en proceso d incubación por parte de la Apache Software Foundation derivado de Trac . IOW => puro Python . La revista se lanza actualmente en formato pdf, epub ... está en scibd , etc , etc ... No es específica d Python , pero cada vez q escribo algo ahí es sobre Python . .. [1] Revista TuxInfo (http://www.tuxinfo.com.ar) PD: La versión 0.4.0 d Apache? Bloodhound será liberada próximamente e incluirá muchas mejoras ... Feliz año 2013 para todos ! o<|:) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From olemis en gmail.com Sun Dec 30 01:59:18 2012 From: olemis en gmail.com (Olemis Lang) Date: Sat, 29 Dec 2012 19:59:18 -0500 Subject: [Python-es] Browser Python In-Reply-To: References: <50DBCB5E.5010302@jcea.es> Message-ID: On 12/27/12, Kiko wrote: > El jueves, 27 de diciembre de 2012, monoBOT >> 2012/12/27 Jesus Cea > escribió: >>> >>> >>> Sintaxis limitada, pero prometedor: >>> >>> http://www.brython.info/ >> >> Pues si, magnifica idea. >> > > ¿Alguien le ve futuro a cosas de estas? Como curiosidad es interesante pero > para casos prácticos siempre estaría limitado y un paso por detrás. ¿Cómo > lo véis? > El anuncio del proyecto comenzó por las listas francófonas de Python [1]_ . En cuanto lo vi me interesó [2]_ [3]_ pues coincidentemente estaba haciendo para Apache? Bloodhound la interfaz para adjuntar ficheros à la GMail [4]_ (DnD , ajax file uploads , ...) . En ese caso tuve q rehacer los templates d la lista d ficheros usando otro sistema d templates de Blueimp [5]_ (¡ q manera d romperme las pelotas che ! :P ) . Teóricamente , con brython sería posible tener una implementación d e.g. Genshi corriendo en el cliente (browser ;) y c podrían reutilizar las mismas soluciones q están en el lado del servidor . También c pudieran implementar cierta lógica del negocio una sola vez (en Python ;) y ejecutarla d forma distribuida tanto en el cliente (user + browser) como en el servidor (e.g. RPC) ... etc , etc , etc ... ;) .. [1] (fw) Lancement du projet Brython (http://comments.gmane.org/gmane.comp.python.french/7190) .. [2] Re: (fw) Lancement du projet Brython (http://permalink.gmane.org/gmane.comp.python.french/7194) .. [3] OT: Brython = browser Python (http://mail-archives.apache.org/mod_mbox/incubator-bloodhound-dev/201211.mbox/%3cCAGMZAuMWQDTxJXxe8DpTi0DH+XA=BSvqcbSng2Jji4OyevgZaQ en mail.gmail.com%3e) .. [4] Attach file form à la GMail (https://issues.apache.org/bloodhound/ticket/195) .. [5] blueimp/JavaScript-Templates · GitHub (https://github.com/blueimp/JavaScript-Templates) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From olemis en gmail.com Sun Dec 30 02:05:54 2012 From: olemis en gmail.com (Olemis Lang) Date: Sat, 29 Dec 2012 20:05:54 -0500 Subject: [Python-es] Browser Python In-Reply-To: References: <50DBCB5E.5010302@jcea.es> Message-ID: On 12/29/12, Olemis Lang wrote: > On 12/27/12, Kiko wrote: >> [...] >> >> ¿Alguien le ve futuro a cosas de estas? Como curiosidad es interesante >> pero >> para casos prácticos siempre estaría limitado y un paso por detrás. ¿Cómo >> lo véis? >> > [...] > > ... etc , etc , etc ... > ;) > q quiere decir : Brython está q mola ... especialmente si el proyecto avanza en la dirección adecuada y madura :) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From olemis en gmail.com Sun Dec 30 02:16:31 2012 From: olemis en gmail.com (Olemis Lang) Date: Sat, 29 Dec 2012 20:16:31 -0500 Subject: [Python-es] Browser Python In-Reply-To: References: <50DBCB5E.5010302@jcea.es> Message-ID: On 12/27/12, Carlos Zuniga wrote: > 2012/12/27 Kiko : [...] >> >> ¿Alguien le ve futuro a cosas de estas? Como curiosidad es interesante >> pero >> para casos prácticos siempre estaría limitado y un paso por detrás. ¿Cómo >> lo >> véis? >> > > Puede tener futuro similar al de herramientas como less [0]. Compilar > al vuelo durante el desarrollo y generar un archivo final en el > release. sí , pero más allá d ese tipo d cosas d generación d código , q pueden suceder fuera del browser , la virtud q le veo es q c puede lograr toda la programación cliente y servidor con Python , con las ventajas q eso implican . Sean sinceros ... ¿no les gustarían tener un poquito d expansión d listas (list comprehensions) , clases , expresiones generadoras , decoradores , currying ... en su código del cliente? ;) > Y la ventaja sobre cosas como pyjs [1] es que no necesitas > instalar nada más que un archivo javascript en tu html. > +1 > El único paso por detrás sería con respecto a las más nuevas versiones > de python y la falta de algunos módulos (que seguro no tendrían > sentido en la web). si no tienen sentido , pues ... ¿ para q los queremos ? > Pero lo mismo pasa con los demás interpretes > alternativos, no? jython, ironpython, etc. > sí . es así . La otra ventaja q le veo a esto con respecto a otras ideas similares es q , al estar implementado sobre JS, debe respetar las políticas de los navegadores e.g. same-origin-policy , ... Hubo otras soluciones anteriormente pero q eran potencialmente peligrosas , d muchas maneras imaginables ;) -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From olemis en gmail.com Sun Dec 30 02:27:11 2012 From: olemis en gmail.com (Olemis Lang) Date: Sat, 29 Dec 2012 20:27:11 -0500 Subject: [Python-es] Browser Python In-Reply-To: References: <50DBCB5E.5010302@jcea.es> Message-ID: On 12/27/12, Francois Dion wrote: > On Wed, Dec 26, 2012 at 11:15 PM, Jesus Cea wrote: >> Sintaxis limitada, pero prometedor: >> >> http://www.brython.info/ > [...] > > Cuando vi esto en Noviembre, fue mi pensamiento. :) > En consideración que > Pierre empezó con la primera versión publica 1 mes atrás, y que ahora > hay cosas como listas, int y str muy eficiente, comprensión de listas, > operador ternario, SVG, dir(), exec() y dis, me parece que sera > realidad en 2013 el objetivo de remplazar javascript. ¡ q bueno saber esto ! c mueven muy rápido entonces ... ¡q bien! > Por eso, estoy > ayudando en varios aspectos, como corregir bugs, traducción en ingles, > español etc. > ¡ Q envidia ! :) Lástima q no tengo tiempo d participar , pero alguna q otra traducción y algun q otro hack-sito podría hacer en mis inexistentes tiempos libres ... ;) A ver q tal c presentaría el 2013 ... Pregunta François : - ¿Cuál sistema de control d versiones utilizan? - ¿Cómo c puede integrar alguien al proyecto? > Con doc y win, se puede hacer todo lo que javascript ofrece con > document y window. > superbe ! :) > Recursos en español: > > Mi blog: > http://raspberry-python.blogspot.com/2012/12/python-en-todo-lugar.html > > Lista (foro google): > https://groups.google.com/forum/?fromgroups=#!forum/brython-es > :) > En cuanto al sitio, Pierre lo hace en francés y después, hago la > traducción en ingles y español. Los cambios se efectúan tan > rápidamente que es difícil a seguir... > Sin embargo solo vi las secciones en francés e inglés en http://www.brython.info/ ¿ Hay algo ya como eso en español también ? ¿O es q viene en camino? > Si le gustaría a alguien hacer la traducción de la pagina > brython/doc/en/implem.html en ingles (o en doc/fr/implem.html en > francés) me ayudaría mucho. > > http://code.google.com/p/brython/source/checkout > creo q esto responde una pregunta q hice más arriba ... Google Code . ¡Q pena! :'( ¿ Existe o c puede hacer algun mirror fuera d Google Code ? ... digamos, en Bitbucket ... [...] -- Regards, Olemis. Blog ES: http://simelo-es.blogspot.com/ Blog EN: http://simelo-en.blogspot.com/ Featured article: From jbc.develop en gmail.com Mon Dec 31 20:03:22 2012 From: jbc.develop en gmail.com (Juan BC) Date: Mon, 31 Dec 2012 16:03:22 -0300 Subject: [Python-es] Informe final PyCon Argentina 2012 Message-ID: En el siguiente enlace se encuentra disponible el informe final o post-mortem de la conferencia PyCon Argentina 2012 https://pyconar20012-postmortem.readthedocs.org Solamente los capítulos "Opiniones de speakers internacionales" y "Opiniones de sponsors" pueden llegar a modificarse en futuro (de todas maneras el numero de versión representa la fecha y hora de creación del documento) Disclaimer del Balance: El balance aun no se encuentra disponible por que aun el banco y SoLAr se encuentran tramitando un cheque (ya van 3 meses) provenientes del extranjero. Se provee 15 días mas de trámites. -- Juan B Cabral