Re: [Python-es] problema con OpenGL
El día 6 de abril de 2010 11:51, Jesuz Lopez Arada escribió: > Hola lista el problema es el siguiente tengo una PC con Ubuntu 9.10 > instalado estoy tratando de corre un programa hecho python utilizando las > librerias Opengl y me da el siguiente error 'Segmentation fault' , las > librerias estan bien instaladas desde c trabajan bien , en otra maquina con > ubuntu 8.4 no me pasa esto. > Gracias. > > -- > La ignorancia es temporal, la estupidez es para siempre. > > > This message was sent using IMP, the Internet Messaging Program. > > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > Algo más de información?, pq eso puede ser desde un buffer que te pasas, a algo mal linkado, pasando por tdas las posibilidades. -- -- Liso^TLOTB Bite my shiny metal ass ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Desarrollo Web facil python
creo que deberías echar un ojo a : http://httpd.apache.org/docs/2.1/suexec.html y el SetUID para cualquier sistema *nix. un saludo. El día 1 de junio de 2010 16:31, Carlos Herrera Polo escribió: > Gracias por la respuesta Juan. > He intentado correr apache (httpd) como root pero ademas de no levantar el > servicio, me da una serie de advertencias sobre inestabilidad en el servicio > si es que se configura de esta forma (me lo temia)... > > Existe alguna otra alternativa ? Dentro del codigo python existe la > posibilidad de ejecutar algo como "sudo" ? he leido que esto se puede hacer > pero invocando subprocesos pero creo que no va por ahi la solucion, > alguien mas tendra alguna idea ? > > Muchas gracias a todos por su interes. > > > > El 1 de junio de 2010 05:53, Juan Ignacio escribió: >>> >>> Se que no es la mejor practica, pero, descontando el tema de >>> seguridad Es posible que el script en python invocado por cgi >>> corra como super usuario ? >> >> Normalmente los scripts que se ejecutan por cgi en apache lo hacen con el >> mismo usuario con el que ejecuta el propio apache. Como bien dices, no es >> recomendable, por seguridad, que el servidor se ejecute como root, pero si >> puedes configurarlo así, tus scripts también correrían como root. >> >> >> ___ >> Python-es mailing list >> Python-es@python.org >> http://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> > > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- -- Liso^TLOTB Bite my shiny metal ass ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Mejora de codigo.
Hola César, tu solución es bastante correcta, lo único que te diría es que el except genérico, puede darte problemas. Deberías capturar la excepción que quieres.Me explico: Imaginate que usas tu función, pero no has hecho un >from datetime import datetime si no que lo has importado como >import datetime o incluso no lo has importado ( siempre se nos puede olvidar ) Bueno, en ese caso, siempre te va a dar un False, aunque le pases un ts correcto, ya que la excepción NameError o AttributeError la estas capturando y enmascarando. Y eso es fuente de bugs muy "jodios" de cazar. podrías usar tu función como: def is_timestamp(var): try: datetime.fromtimestamp(var) return True except TypeError: return False except OSError: #llamada con un float("nan") return False except OverflowError: #llamada con un float("inf") return False aunque si no quieres, o estas en contra de usar tantos try/except, también puedes comprobar si es un valor numérico, aunque el float("nan") y el float("inf") tendrías que capturarlo también: def is_timestamp_no_try_except(var): return isinstance(var,float) | isinstance(var,int) Un saludo. El 5 de julio de 2017, 17:28, César García Tapia escribió: > ¿Por qué no te gusta? Las excepciones sirven exactamente para eso. Que se > suelan usar para control de errores no significa que sea su único uso > correcto. > > Eso sí, siempre debes usar la excepción más específica posible, así que en > vez de "except" deberías poner "except TypeError", que es la excepción que > lanza fromtimestamp() si le pasas algo que no sea un número. > > Un saludo. > > > *César García Tapia* > Director técnico > Tlf: +34 663 273 481 <+34+663+273+481> > Skype: cesargarciatapia > <#m_-1228148143883588336_UNIQUE_ID_SafeHtmlFilter_> > Web: https://www.openshine.com/ > > El 3 de julio de 2017, 17:41, Nicolas lino > escribió: > >> Buenas. >> >> A alguien se le ocurre una manera mas prolija o una librería para hacer >> lo siguiente: >> >> >> >>> a >> 1499095933.289 >> >>> b >> 'asdasdsa' >> >>> def is_timestamp(var): >> ... try: >> ... datetime.fromtimestamp(var) >> ... return True >> ... except: >> ... return False >> ... >> >>> is_timestamp(a) >> True >> >>> is_timestamp(b) >> False >> >> >> No me gusta la idea de usar un try y forzar una excepción para validar si >> es un timestamp. Pero no se me a ocurrido nada mejor. >> >> >> Gracias! >> >> >> >> ___ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > ___ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > > -- -- Liso^TLOTB Bite my shiny metal ass ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es
Re: [Python-es] Mejora de codigo.
Perdón César, la respuesta era para Nicolas ;) El 6 de julio de 2017, 11:32, Angel Lis escribió: > Hola César, > tu solución es bastante correcta, lo único que te diría es que el except > genérico, puede darte problemas. Deberías capturar la excepción que > quieres.Me explico: > > Imaginate que usas tu función, pero no has hecho un > >from datetime import datetime > si no que lo has importado como > >import datetime > o incluso no lo has importado ( siempre se nos puede olvidar ) > > Bueno, en ese caso, siempre te va a dar un False, aunque le pases un ts > correcto, ya que la excepción NameError o AttributeError la estas > capturando y enmascarando. Y eso es fuente de bugs muy "jodios" de cazar. > > podrías usar tu función como: > > def is_timestamp(var): > try: > datetime.fromtimestamp(var) > return True > except TypeError: > return False > except OSError: > #llamada con un float("nan") > return False > except OverflowError: > #llamada con un float("inf") > return False > > > > aunque si no quieres, o estas en contra de usar tantos try/except, también > puedes comprobar si es un valor numérico, aunque el float("nan") y el > float("inf") tendrías que capturarlo también: > > def is_timestamp_no_try_except(var): > return isinstance(var,float) | isinstance(var,int) > > > Un saludo. > > El 5 de julio de 2017, 17:28, César García Tapia > escribió: > >> ¿Por qué no te gusta? Las excepciones sirven exactamente para eso. Que se >> suelan usar para control de errores no significa que sea su único uso >> correcto. >> >> Eso sí, siempre debes usar la excepción más específica posible, así que >> en vez de "except" deberías poner "except TypeError", que es la excepción >> que lanza fromtimestamp() si le pasas algo que no sea un número. >> >> Un saludo. >> >> >> *César García Tapia* >> Director técnico >> Tlf: +34 663 273 481 <+34+663+273+481> >> Skype: cesargarciatapia >> <#m_8858629466002260070_m_-1228148143883588336_UNIQUE_ID_SafeHtmlFilter_> >> Web: https://www.openshine.com/ >> >> El 3 de julio de 2017, 17:41, Nicolas lino >> escribió: >> >>> Buenas. >>> >>> A alguien se le ocurre una manera mas prolija o una librería para hacer >>> lo siguiente: >>> >>> >>> >>> a >>> 1499095933.289 >>> >>> b >>> 'asdasdsa' >>> >>> def is_timestamp(var): >>> ... try: >>> ... datetime.fromtimestamp(var) >>> ... return True >>> ... except: >>> ... return False >>> ... >>> >>> is_timestamp(a) >>> True >>> >>> is_timestamp(b) >>> False >>> >>> >>> No me gusta la idea de usar un try y forzar una excepción para validar >>> si es un timestamp. Pero no se me a ocurrido nada mejor. >>> >>> >>> Gracias! >>> >>> >>> >>> ___ >>> Python-es mailing list >>> Python-es@python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >>> >> >> ___ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> >> > > > -- > -- > Liso^TLOTB > Bite my shiny metal ass > -- -- Liso^TLOTB Bite my shiny metal ass ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es
Re: [Python-es] Distintos Encodings en Python
Hola, en Python3 todo texto es unicode por defecto y el encoding del source es siempre unicode. En este pagina te lo explica: https://docs.python.org/3.0/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit Un saludo. El mié., 31 oct. 2018 a las 14:24, Sergio Fernández () escribió: > Primero, definiendo en la cabecera de tus ficheros > https://docs.python.org/2.3/whatsnew/section-encodings.html > > #!/usr/bin/env python > # -*- coding: UTF-8 -*- > > Segundo, defiendo explicitamente el encoding cuando abres ficheros para > lectura/escritura: > > open('some.csv', encoding='utf-8') > > > > > > On Wed, Oct 31, 2018 at 6:16 AM Pixu Kideak wrote: > >> Gracias por el consejo Sergio. >> >> ¿Cómo podría forzar a que el script / app fuera obligado a utilizar >> Unicode? >> >> Saludos ;-) >> >> On Wed, 31 Oct 2018 at 13:44, Sergio Fernández wrote: >> >>> Utiliza siempre un encoding independiente de la plataforma que soporte >>> el juego de caracteres que necesitas. Unicode es tu amigo ;-) >>> >>> On Wed, Oct 31, 2018 at 5:36 AM Pixu Kideak >>> wrote: >>> Hola, Estoy trabajando en un entorno Windows con Python 3.7 y según veo en el encoding utilizo cp1252 - windows -1252 Western Europe. Quiero obtener información de una web con caracteres rusos y guardar la información en un fichero CSV. Según he visto el encoding necesario es cp1251 - windows - 1251 - Bulgarian, Byelorussian, Macedonian, Russian, Serbian. Pero no sé cómo puedo usarlo desde Python o qué debo hacer para poder grabar la información correctamente en el fichero CSV. ¿Alguien me podría mostrar algo de luz? Un saludo ;-) ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es >>> >>> >>> -- >>> Sergio Fernández >>> http://www.wikier.org >>> ___ >>> Python-es mailing list >>> Python-es@python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> >> ___ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> > > > -- > Sergio Fernández > http://www.wikier.org > ___ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > -- -- Àngel Lis. ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es
Re: [Python-es] Distintos Encodings en Python
Creo que estas dandole demasiadas vueltas. Mi recomendacion es que trabajes siempre con unicode. Por lo que explicas quieres algo asi: ~~~ Python import urllib from bs4 import BeautifulSoup url = 'https://www.yandex.ru/' req = urllib.request.Request(url, data=None, headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'}) html = urllib.request.urlopen(req).read() soup = BeautifulSoup(html) title_text = soup.find('title').text # el titulo ya es un unicode, o 'str' en python3x print("Type of title: ".format(type(title_text))) print(f"Title of the page: {title_text}") # si quieres convertilo a cp1251, pero yo trabajaria siempre con unicode title_encoded_cp1251 = title_text.encode('cp1251') ~~~ echale un ojo a esta presentacion que te aclarara muchas cosas: http://farmdev.com/talks/unicode/ Un saludo El jue., 1 nov. 2018 a las 12:35, Ander Garmendia () escribió: > Hola, > > tiene pinta de que al scrapear la página no estás ulizando el codec > adecuado (creo que pusiste cp1251) y por lo tanto el programa no es capaz > de interpretar el texto. > > Primero, cerciorarte del encoding que están ulizando esas páginas web y > utiliza ese encoding en BeautifulSoup para obtener el contenido ( no > conozco la librería, por lo que no te puedo decir mas, pero seguro que hay > alguna manera de definir el encoding). > > Una vez que tienes el contenido bien descodificado, puedes trabajar con el > tranquilamente, ya que Python3 trabaja con bytes. > > Para terminar si quieres guardar el contenido tendrás que volver a > codificarlo, preferiblemente en UTF8, y como te han comentado en los > ejemplos que te han enviado anteriormente. > > Un saludo. > > > > El jue., 1 nov. 2018 11:59, Pixu Kideak escribió: > >> Hola, >> >> En la prueba que estoy realizando, utilizo BeautifulSoup [ >> https://www.crummy.com/software/BeautifulSoup/bs4/doc/] con Python 3.7. >> >> Mi objetivo es mediante BeautifulSoup tener todo el código de la página y >> por ejemplo almacenar el título de ésta en un fichero CSV. (En realidad se >> tratan de más datos de la web que lo realiza mediante un búcle recorriendo >> las distintas webs existentes; pero creo que es suficiente si consigo >> almacenar el título de la web que tiene letras del alfabeto cirílico en el >> fichero CSV). >> >> Primeramente quiero verlo todo en consola, así soy capaz de obtener el >> título de la web y pintarlo en la consola; pero a la hora de mostrarlo, no >> me muestra los caracteres cirílicos sino "" es por eso que enfocaba el >> problema cómo si se tratara de un problema de encoding. >> >> Un saludo, >> >> On Thu, 1 Nov 2018 at 08:11, Angel Lis wrote: >> >>> Hola, >>> en Python3 todo texto es unicode por defecto y el encoding del source es >>> siempre unicode. >>> En este pagina te lo explica: >>> >>> https://docs.python.org/3.0/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit >>> >>> Un saludo. >>> >>> El mié., 31 oct. 2018 a las 14:24, Sergio Fernández () >>> escribió: >>> >>>> Primero, definiendo en la cabecera de tus ficheros >>>> https://docs.python.org/2.3/whatsnew/section-encodings.html >>>> >>>> #!/usr/bin/env python >>>> # -*- coding: UTF-8 -*- >>>> >>>> Segundo, defiendo explicitamente el encoding cuando abres ficheros para >>>> lectura/escritura: >>>> >>>> open('some.csv', encoding='utf-8') >>>> >>>> >>>> >>>> >>>> >>>> On Wed, Oct 31, 2018 at 6:16 AM Pixu Kideak >>>> wrote: >>>> >>>>> Gracias por el consejo Sergio. >>>>> >>>>> ¿Cómo podría forzar a que el script / app fuera obligado a utilizar >>>>> Unicode? >>>>> >>>>> Saludos ;-) >>>>> >>>>> On Wed, 31 Oct 2018 at 13:44, Sergio Fernández >>>>> wrote: >>>>> >>>>>> Utiliza siempre un encoding independiente de la plataforma que >>>>>> soporte el juego de caracteres que necesitas. Unicode es tu amigo ;-) >>>>>> >>>>>> On Wed, Oct 31, 2018 at 5:36 AM Pixu Kideak >>>>>> wrote: >>>>>> >>>>>>> Hola, >>>>>>
Re: [Python-es] copy.deepcopy() falla cuando el objeto a copiar tiene logging
Hola Jose, el problema que describes es la razon de por que existe el metodo copy.copy() y copy.deepcopy() de la documentacion: https://docs.python.org/2.7/library/copy.html """ - A *shallow copy* constructs a new compound object and then (to the extent possible) inserts *references* into it to the objects found in the original. - A *deep copy* constructs a new compound object and then, recursively, inserts *copies* into it of the objects found in the original. """ Y para el objeto logging: https://docs.python.org/2.7/library/logging.html?highlight=logging#thread-safety """ The logging module is intended to be thread-safe without any special work needing to be done by its clients. It achieves this though using threading locks; there is one lock to serialize access to the module’s shared data, and each handler also creates a lock to serialize access to its underlying I/O. """ En este caso, probablemente deberas usar un copy() en vez de deepcopy. Espero haberte ayudado. Un saludo. PD: Yo tampoco tengo tildes en el teclado El lun., 26 nov. 2018 a las 23:30, Jose Caballero () escribió: > Hola, > > tengo una clase C, a cuyos objetos puedo, en principio, hacer copias > con copy.deepcopy(). > Sin embargo, cuando a la clase C le agrego logging en el __init__ [1], > ya no funciona [2]. > ?No me queda mas remedio que copiar el objeto "manualmente"? > ?O existe alguna forma limpia de evitar este problema? > > Gracias por adelantado. > Un saludo, y perdon por la falta de tildes. > Jose > > > [1] > def __init__(self): > self.log = logging.getLogger() > logStream = logging.StreamHandler() > > self.log.addHandler(logStream) > > [2] > File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy > y = _reconstruct(x, rv, 1, memo) > File "/usr/lib64/python2.7/copy.py", line 334, in _reconstruct > state = deepcopy(state, memo) > File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy > y = copier(x, memo) > File "/usr/lib64/python2.7/copy.py", line 257, in _deepcopy_dict > y[deepcopy(key, memo)] = deepcopy(value, memo) > File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy > y = _reconstruct(x, rv, 1, memo) > File "/usr/lib64/python2.7/copy.py", line 334, in _reconstruct > state = deepcopy(state, memo) > File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy > y = copier(x, memo) > File "/usr/lib64/python2.7/copy.py", line 257, in _deepcopy_dict > y[deepcopy(key, memo)] = deepcopy(value, memo) > File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy > y = copier(x, memo) > File "/usr/lib64/python2.7/copy.py", line 230, in _deepcopy_list > y.append(deepcopy(a, memo)) > File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy > y = _reconstruct(x, rv, 1, memo) > File "/usr/lib64/python2.7/copy.py", line 334, in _reconstruct > state = deepcopy(state, memo) > File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy > y = copier(x, memo) > File "/usr/lib64/python2.7/copy.py", line 257, in _deepcopy_dict > y[deepcopy(key, memo)] = deepcopy(value, memo) > File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy > y = _reconstruct(x, rv, 1, memo) > File "/usr/lib64/python2.7/copy.py", line 334, in _reconstruct > state = deepcopy(state, memo) > File "/usr/lib64/python2.7/copy.py", line 163, in deepcopy > y = copier(x, memo) > File "/usr/lib64/python2.7/copy.py", line 257, in _deepcopy_dict > y[deepcopy(key, memo)] = deepcopy(value, memo) > File "/usr/lib64/python2.7/copy.py", line 190, in deepcopy > y = _reconstruct(x, rv, 1, memo) > File "/usr/lib64/python2.7/copy.py", line 329, in _reconstruct > y = callable(*args) > File "/usr/lib64/python2.7/copy_reg.py", line 93, in __newobj__ > return cls.__new__(cls, *args) > TypeError: object.__new__(thread.lock) is not safe, use > thread.lock.__new__() > ___ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > -- -- Àngel Lis. ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es
Re: [Python-es] Necesito ayuda con hilos o algún método para que no salga el mensaje: La aplicación no responde.
Buenas Hector, creo, sin haber adentrado demasiado en tu codigo, que estas usando incorrectamente el Popen, ademas the un poco de confusion con el tema de Threads vs Processes. Supongo que tu objetivo es lanzar un proceso ( programa externo, con su heap propio, etc) y cada X tiempo "checkear" si el programa ha acabado, ha fallado o cualquier cosa entre medio. Con Popen, el primer parametro es un array (o lista) de string, que definen en proceso y los parametros, asi que en tu caso seria algo asi como: comando1 = ["adb", "push" , f"{abrirzip}", " /sdcard/"] Y luego, para checkear el status podrias hacer algo como esto: In [3]: with subprocess.Popen(["/bin/bash","/tmp/blah.sh"],stdout=subprocess.PIPE,stderr=subprocess.PIPE) as myproc: ...: while True: ...: try: ...: res = myproc.wait(1) #wait for the process to end for 1 second ...: print(res) # if 0 ok, for any other value... mastercard ;) ...: print(myproc.stdout.read()) #show the output, or stderr if you want to show teh error ...: break ...: except subprocess.TimeoutExpired as e: ...: print("still running") ...: continue ...: ...: ahora mismo no puedo ofrecerte una respuesta mas extensa, pero si tienes cualqueir duda, pregunta que te respondere en cuando pueda. Un saludo. El vie., 1 mar. 2019 a las 10:01, Héctor J. Benítez Corredera (< facturasxebo...@gmail.com>) escribió: > Hola empezare diciendo que soy nuevo en Python y autodidacta por lo que lo > de buscar es lo único que hago. > > > > Bien me encuentro en un problema el cual no consigo encontrar solución ni > ningún ejemplo el cual me aclare el concepto o como usar el tema de los > hilos, creo que los hilos es la solución a mi problema. > > > > Bien paso a detallarlo, e programado una interface con wxpython y estoy > usando Python 3.7 DE 64 BITS, la cual tiene una consola que captura stdout > y stderr y da el resultado en esa consola. Los resultados vienen de la > interacción con la aplicación adb.exe la cual llamo através de popen. > > Bien todo funciona correctamente hasta que hago la llamada adb.exe através > de popen y como es copiar un archivo grande al móvil la interface se cuelga > hasta que no termina el proceso saliendo el mensaje la aplicación no > responde… > > > > Bien e leído mucho sobre los hilos y la verdad no tengo nada claro, e > mirado muchos ejemplos y e intentado integrarlos pero sin éxito en ninguno. > > > > Quiero algo sencillo que se ejecute popen, me deje capturar el stdout, > stderr y el returncode, decir que antes de lanzar popen lanzo una ventana > de Espere por favor… y deseo que no se pueda interactuar con la aplicación > hasta que no termine bien o mal el proceso de popen. Esto ultimo lo consigo > con la ventana de Espere por favor. > > > > Bien lo ultimo que creía que me podía funcionar es: > > > http://stackoverflow.com/questions/1191374/subprocess-with-timeout/4825933#4825933 > > > > E visto mucho como capturar el stdout y stderr en tiempo real, e visto > como actualizar la consola conforme llegan los datos a dichos parámetros > pero nada de eso me interesa y los ejemplos son muy complicados para mi > nivel actual. > > > > Bien dejo parte del código el cual me tiene parado ya que no quiero > continuar hasta encontrarle una solución al problema de la aplicación no > responde. > > > > Comentar que estoy en Windows 10. > > > > ### Inicio código > > > > wildcard = "Archivos flash (*.ZIP)|*.zip" > > > > dlg = wx.FileDialog( > > self, message="Seleccione un Archivo", > > defaultDir=os.getcwd(), > > defaultFile="", > > wildcard=wildcard, > > style=wx.FD_OPEN | > > wx.FD_CHANGE_DIR | wx.FD_FILE_MUST_EXIST | > > wx.FD_PREVIEW > > ) > > if dlg.ShowModal() == wx.ID_OK: > > paths = dlg.GetPaths() > > for path in paths: > > global abrirzip > > abrirzip = path > > global archivoresultado > > archivoresultado = os.path.basename(abrirzip) > > dlg.Destroy() > > result = Result() > > loadDlg = PopupDialog(None, "Espere por favor...", > "Ejecutando la acción, no cierre esta ventana y espere información...") > > print(time.strftime("%H:%M:%S") + " *** Inicio de la copia al > Almacenamiento Interno de " + archivoresultado + " ***\n") > > > > play_sound() > > > > os.chdir(directorio + "/zbin") > > ### Esto es lo que me gustaría que no bloqueara el programa > > ### Que trabajara detrás de la ventana Espere por favor… > > comando1 = "adb push " + abrirzip + " /sdcard/" > > p = Popen(comando1, stdin=PIPE, stdout=PIPE, stderr=PIPE, > encoding='utf8', startupinfo=si) > > (stdout, stderr) = p.communicate() > > > > ### Estos da
Re: [Python-es] Desplegar desarrollos en distintos servidores
Hola Pixu, Tienes varias opciones para eso. La mas directa es utilizar virtualenv para tu proyecto ya que es bastante sencillo de usar y te ahorrara muchos problemas. el modo de trabajo eso es siguiente. Creas un 'virtualenv' para tu proyecto: $ cd myprojectdir ejecutas python -m venv DIRECTORIO_DONDE_TENDRAS_VENV Esto crea una "copia local especifica para tu sistema'. Vamos, que copia el ejecutable de python, el pip, libs, etc dentro de ese directorio. $ python -m venv venv Activas el entorno virtual: $ source ./venv/bin/activate # Para *nix systems $ .\venv\scripts\activate # para Windoze. instalas los requerimientos $ pip install -r requeriments.txt Ejecutas lo que quieras: $python my_super_programa.py Algunas cosas interesantes. Cuando tengas tu proyecto listo, o simplemente has hecho pruebas y funciona bien, es recomendable crearte un 'requeriments.txt' con las librerias de terceros que uses y la version EXACTA que estas usando, asi podras evitar el Version Hell $ pip freeze > requeriment.txt Por que es una buena idea hacer esto, pues inicialmente para usar siempre la misma libreria con la que has comprobado que tu sistema funciona. Luego para evitar que, si tienes las librerias instaladas a nivel de sistema o de tu usuario local, haya incompatibilidades entre software. Tipico este programa necesita numpy==10.x y este otro un numpy<=11.x, con tu virtualenv tienes en cada sistema la lib que necesitas. Otra opcion que puedes hacer es desplegar tu proyecto dentro de un docker. Para las ventajas, desventajas, problemas y tips de docker, pregunta en un mail aparte ;) PS: me quedo sin timpo para responder mas extensamente. PS2: sorry por las tildes, teclado ingles. El vie., 22 mar. 2019 a las 11:12, Pixu Kideak () escribió: > Buenos días, > > Estoy aprendiendo Python, he realizado algún script que utiliza algunas > librerias de terceros que los he puesto en marcha con PIP y tengo > funcionando el programa en un servidor. > Me gustaría saber cual es la mejor manera para poder hacer funcionar el > desarrollo en otros servidores con distintas arquitecturas (x32, x64) y > distintos sistemas operativos. > > En un principio he pensado que podría instalar Python y las librerias en > los distintos servidores y después copiar los scripts; pero quiero pensar > que existe alguna manera de automatizar este proceso o realizarlo de manera > más elegante. > > Un saludo y muchas gracias por vuestra ayuda ;-) > > > ___ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > -- -- Àngel Lis. ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es
Re: [Python-es] lñibrería de audio 3d
Buenos días Miguel, No se como está el tema de audio ultimamente, pero para este tipo de cosas se ha utilizado normalmente OpenAL: https://www.openal.org/ Y los bindings para python: https://pypi.org/project/PyOpenAL/ Lamento no poder ayudarte más . Un saludo. El jue., 16 may. 2019 a las 1:19, Miguel Barraza (< miguelbarraza2...@gmail.com>) escribió: > Buenas grupo, estoy desarrollando un audiojuego (juego accesible para > ciegos en audio), con pygame en python 3.7. estoy teniendo algunos > problemas para encontrar una librería de audio con posicionamiento 3d: a > que me refiero con esto, que pueda reproducir un audio en loop y > posicionarlo en algun punto 3d, que no solo se escuche de izquierda a > derecha, si no detrás, adelante, arriba, abajo, etc. > las que vengo probando son: libaudioverse, pyglet, y openAl, este ultimo > me cuesta un poco mas porque la documentación y ejemplos son un poco > escasos. > > ¿conocen alguna otra librería que me pueda ayudar?. > > gracias. > > atte, Miguel > ___ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > -- -- Àngel Lis. ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es
Re: [Python-es] [Presentación] y [Consulta]
Hola Veronica y bienvenida, sobre tu cuestión, fchdir vs chdir se diferencian en que chdir cambia en directorio de trabajo al que tu le pases con un string, en cambio fchdir le pasas un descriptor de fichero, o sea que tienes que hacer un open del directorio y luego gestionar tu el close del descrito. A nivel de performance con esas funciones no te preocupes, no creo que sea algo que ejecutes constantemente. De todas maneras, si lo que quieres para trabajar con paths es recomendable intentar usar la pathlib ( https://docs.python.org/3.8/library/pathlib.html ) que viene por defecto en python3, ya que te abstrae del sistema de ficheros (vamos que funciona igual en windows, linux, etc). Échale un ojo si te apetece. sobre tu función, te estás dejando un descriptor de fichero abierto, y eso generará errores. Si es posible intenta acostumbrarte a usar el idiomatic with para trabajar con descriptores, si puedes, claro. Para tu función podría quedar así: def cambio_ruta(self, cambio, cambiado): cambio = input("\nIngrese ruta a la que quiere cambiar: ") with os.open(cambio, os.O_RDONLY) as cambiado: os.fchdir(fd=cambiado) contador = 0 for elemento in os.scandir(cambio): contador = contador + 1 print(elemento) print(f"\nTotal de elementos: {contador}") # al salir del scope de with, "ejecuta" cambiado.close() automagicamente. return "\nDirectorio actual de trabajo: {}".format(os.getcwd()) usando el with, cuando sale del scope, ejecuta el close() de "cambiado" Espero haberte ayudado, un saludo! Angel Lis ^ aka Liso El jue., 18 jun. 2020 a las 9:46, Lemarchand Barker (< lemarchand8...@gmail.com>) escribió: > Hola, me llamo Verónica y después de muchos años estoy retomando > nuevamente python. Estoy en Python 3.8. > Actualmente estoy usando Ubuntu 20.04 - Gnome, ide PyCharm 2020.1.2. > Como bien mencioné, estoy retomando y cuando abandoné el lenguaje, tampoco > es que estaba muy avanzada pero la diferencia es que ahora estoy más > decidida. Quiero aprender porque es un lenguaje que para mi es fácil y lo > puedo entender. > Mi consulta es respecto a lo siguiente. Si bien hay muchos reproductores > multimedia para elegir yo quiero hacer uno similar al moc (reproductor de > mp3 para consola) pero de video. > Lo que necesito prácticamente y para ser puntual es algo que me permita > ejecutar el video en cuestión. > Hasta ahora lo que tengo hecho es; todo por consola: > 1- Que la aplicación te muestre la ruta actual en la que estás: > *os.getcwd()* > 2- Que te permita ingresar la ruta a la cual querés ir: > > def cambio_ruta(self, cambio, cambiado): > cambio = input("\nIngrese ruta a la que quiere cambiar: ") > cambiado = os.open(cambio, os.O_RDONLY) > os.fchdir(fd=cambiado) > contador = 0 > for elemento in os.scandir(cambio): > contador = contador + 1 > print(elemento) > print(f"\nTotal de elementos: {contador}") > return "\nDirectorio actual de trabajo: {}".format(os.getcwd()) > > Buscando como hacer para cambiar de ruta me encontré con el planteo de > mucha gente que quería saber cuál era la diferencia entre *chdir()* y > *fchdir()*. Si bien no me quedó muy en claro la diferencia la mayoría > coincidía en que fchdir es el que tiene mejor rendimiento. Lo mismo me pasó > con la opción *scandir()*, que de todas las opciones era la que mejor > funcionaba también respecto a rendimiento. > Todo este código es para ver si funcionaba, y logro cambiarme cuando > ingreso la ruta, e incluso puedo ver el contenido de la misma pero mi > problema viene cuando quiero ejecutar el archivo de video (mp4). > Todo lo que encontraba era con entorno gráfico como qt, tkinter, cv y no > es eso lo que necesito. > Encontré algo similar pero que reproduce mp3 que es lo que voy a probar > más tarde y lo encontré acá: > Probando pydub para convertir y reproducir audio > <https://www.elarraydejota.com/probando-pydub-para-convertir-y-reproducir-audio/> > Eso es todo, y pido disculpas por mi código, seguramente se lo puede pulir > más para que quede mucho mejor, y esa es la idea más adelante. > Muchas gracias y espero me puedan ayudar. > Saludos desde Argentina > ___ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > -- -- Àngel Lis. ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es
Re: [Python-es] [Progreso]Reproducción de video con opencv
Hola Lemarchand, no entiendo muy bien que quieres decir con que corra en la misma terminal que lo ejecutas. La terminal solo es capaz de pintar texto, si quieres gfx, debes tener una ventana aparte. Si lo que quieres es "ver" el video en ascii art, puedes jugar con aalib ( http://jwilk.net/software/python-aalib) Por cierto, Grande Nightwish ;) El mar., 23 jun. 2020 a las 9:41, Lemarchand Barker (< lemarchand8...@gmail.com>) escribió: > Hola cómo me habían aconsejado antes, para reproducir un video que use > opencv. > Busqué y me encontré con un código que me permitió ejecutarlo pero sin > sonido, en este caso el archivo tiene una extensión .mp4. Les adjunto la > imágen de cómo se ve. Me falta buscar la forma de ejecutarlo y que se > escuche o probar cambiarlo de formato, porque yo busqué para reproducir avi > con opencv. > Si bien creo que me estoy acercando a lo que necesito no es precisamente > lo que quiero, mi idea es en lo posible que no abra una nueva ventana y ver > el video, sino que corra en la misma terminal que lo ejecuto, si esto no es > posible o ya es muy complejo, no tiene mucho sentido seguir porque hay > miles de reproductores muy buenos. > Saludos y gracias a todos y sobre todo por la paciencia > ___ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > -- -- Àngel Lis. ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es
Re: [Python-es] [Progreso]Reproducción de video con opencv
Mostrar gráficos en una terminal standard no es posible. La terminal está diseñada para trabajar solo con texto, X caracteres Y líneas sin necesidad de tener memoria de video ni demás "moderneces" :D Las terminales, o consolas, nacieron como un sistema para mandar comandos ( y recibir respuestas) de los primeros ordenadores a través de los famosos puertos serie, o por red ( telnet -> *Teletype Network *) *. * De hecho, cuando se dió el boom de los ordenadores personales, fue algo que no todos los sistemas implementaron así. Por ejemplo, si no me equivoco, Amiga trabajaba directamente en modo gráfico y emulaba la terminal. Obviamente sistemas más antiguos hacían implementaciones mixtas. Todavia recuerdo modificar los UDG de mi spectrum :). /mode abuelo cebolleta off. De todas maneras, si te interesa seguir investigando el tema, está discusión en askubuntu está bastante bien: https://askubuntu.com/questions/97542/how-do-i-make-my-terminal-display-graphical-pictures Un saludo, Angel. El mar., 23 jun. 2020 a las 13:55, lemarchand8679 () escribió: > Hola Angel, mi idea era reproducir un video en la terminal. Por ej en > Ubuntu (mi s.o): > user@user-note: python3 script.py > Y se reptoduzca sin tener que abrirse una ventana. > Quería saber si era posible hacer algo como moc (reproductor mp3 para > terminal, sin interfaz gráfica), pero por lo visto la única forma es pasar > la imagen a ascii. > Muchas gracias > PS: amo Nightwish pero la época de Tarja. > Saludos > > > > Enviado desde mi smartphone Samsung Galaxy. > > > Mensaje original > De: Angel Lis > Fecha: 23/6/20 04:56 (GMT-03:00) > A: La lista de python en castellano > Asunto: Re: [Python-es] [Progreso]Reproducción de video con opencv > > Hola Lemarchand, > no entiendo muy bien que quieres decir con que corra en la misma terminal > que lo ejecutas. > La terminal solo es capaz de pintar texto, si quieres gfx, debes tener una > ventana aparte. > > Si lo que quieres es "ver" el video en ascii art, puedes jugar con aalib ( > http://jwilk.net/software/python-aalib) > > Por cierto, Grande Nightwish ;) > > El mar., 23 jun. 2020 a las 9:41, Lemarchand Barker (< > lemarchand8...@gmail.com>) escribió: > >> Hola cómo me habían aconsejado antes, para reproducir un video que use >> opencv. >> Busqué y me encontré con un código que me permitió ejecutarlo pero sin >> sonido, en este caso el archivo tiene una extensión .mp4. Les adjunto la >> imágen de cómo se ve. Me falta buscar la forma de ejecutarlo y que se >> escuche o probar cambiarlo de formato, porque yo busqué para reproducir avi >> con opencv. >> Si bien creo que me estoy acercando a lo que necesito no es precisamente >> lo que quiero, mi idea es en lo posible que no abra una nueva ventana y ver >> el video, sino que corra en la misma terminal que lo ejecuto, si esto no es >> posible o ya es muy complejo, no tiene mucho sentido seguir porque hay >> miles de reproductores muy buenos. >> Saludos y gracias a todos y sobre todo por la paciencia >> ___ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> > > > -- > -- > Àngel Lis. > ___ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > -- -- Àngel Lis. ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es
Re: [Python-es] Que libro me recomendaís
IMHO, Sin lugar a dudas, automate the boring stuff with python. https://automatetheboringstuff.com/ El sáb., 18 jul. 2020 10:39, Javier Perez escribió: > Hola, > > > Para un nivel medio de python, ¿qué libro me recomendáis? > > No tiene porque ser impreso, me valdría: PDF, web, curso. > > Es que veo mucho por internet pero suele ser un nivel inicial. > > Que siendo sinceros, todavía me queda, pero bueno, por ir un poco sobre > seguro. > > > > Saludos, > > -- > Javier Pérez > http://es.linkedin.com/in/javierperez1 > http://www.perasalvino.es/ > > > > > ___ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es