[Python] Hilo general

B

#689 https://m.youtube.com/watch?v=YRgNOyCnbqg

jaime9714

#689 Hackear la NASA machote

desu
def runProcess(f):
    process = Process(target=f)
    process.start()
    return process

def runInParallel(*fns):
   listRunningProcesses = [process for process in map(runProcess, fns)]
   map(lambda p: p.join(), listRunningProcesses)

def a():
    time.sleep(1)
    print("A")

def b():
    time.sleep(3)
    print("B")

def c():
    time.sleep(2)
    print("C")


if __name__ == '__main__':
    runInParallel(a, b, c)
    time.sleep(4)
    print("---------------------")
    runInParallel(a, c, b)
    time.sleep(4)
    print("---------------------")
    runInParallel(b, a, c)
    time.sleep(4)
    print("---------------------")
    runInParallel(b, c, a)
    time.sleep(4)
    print("---------------------")
    runInParallel(c, a, b)
    time.sleep(4)
    print("---------------------")
    runInParallel(c, b, a)

como correr cualquier codigo en parallelo, esta mal en algo?

3 respuestas
HeXaN

#693 Para empezar el PEP dice que uses snake_case. Luego, podrías usar esto https://docs.python.org/2/library/multiprocessing.html que tiene un parallel map por ahí perdido.

1 1 respuesta
desu

#694 Pep me la chupa.

1 respuesta
Kaiserlau

#695 es más cómodo si te acostumbras desde un principio, así luego no parecerá una sopa de letras con espaguetis.

1 respuesta
desu

#696 En verdad sigo los standards, menos alguna cosa del autoformat

eondev

#693 https://docs.python.org/3.7/library/multiprocessing.html#multiprocessing.pool.Pool

CaNaRy_r00lz

#693 Y yo pensaba que era un chiste de lo del process hahaha diosmio me voy a dormir xDD

desu

Voy a repetir la pregunta, "esta mal en algo?" Que no soporta mi implementación? Prefiero hacerlo yo mismo a usar el pool.

MisKo

No lo he visto, pero me ha llegado este video por email y lo mismo alguno de vosotros le da alguna utilidad, que yo de python 0 (y me da rabia la verdad pero no tengo tiempo xD)

1 1 respuesta
B

#701 thx luego le echo un ojo tiene buena pinta

22 días después
Fyn4r

No conocía yo esto

https://github.com/TheAlgorithms/Python

1 1 respuesta
HeXaN

#703 Poco me ha durado la alegría cuando entro en la carpeta del SVM y... Lo que encontré te sorprenderá.

1 1 respuesta
Fyn4r

#704 wtf no lo había visto xdddd

Gude

Joder que intriga, que habeis visto xD

eondev

Los que usáis vscode, no tenéis bugueado la UI de los tests? Se queda pillado el icono en la segunda pasada de los tests.
Para reproducirlo solo tenéis que ctrl+shift+P > python configure tests y luego en el icono de la probeta le das a run tests. Luego cambiáis en cualquier test para que de error, pasáis el test y se pone la aspa roja, corregís el test y aunque de OK la aspa se queda, no cambia al tick verde. Me toca reiniciar el vscode o ver el output de la consola :(

1 respuesta
Kaiserlau

#707 no hagas eso y no se rompe. O mejor no hagas test, se un hombre maldita sea.

spoiler
1 respuesta
eondev

#708 Nada, me acabo de dar cuenta de que pasa únicamente si se lo hago sólo a un test unitario en concreto, si paso todos de golpe la ui no se buggea XD

1
29 días después
HeXaN

¿RIP Pipenv?

https://github.com/pypa/pipenv/issues/4058

desu

https://yungnickyoung.github.io/Python-3-Cheatsheet/

Slowbro

Hola, ¿tenéis algún recurso decente para el correcto uso de asyncio? La documentación oficial está bien pero buscaba algo más 'literario' para acompañar.

Gracias!

1 respuesta
Vashealer

#712 https://realpython.com/async-io-python/ este es más literario que la doc oficial :thinking:

1 1 respuesta
Slowbro

#713 Lo había leído y me ha ayudado con algunas cosas, pero buscaba algo más extenso, incluso algún libro. Muchas gracias de todas formas!

7 días después
afhn

chavales, cuál es el equivalente a swing en python?

Wei-Yu

python gui toolkit|framework

yo usé pyqt y kivy que al menos antes eran los normales

2 meses después
vc15

Hola a todos!

¿Como va esa cuarentena?

Yo, aprovechando estos días, me he decidido a resucitar un pequeño proyecto que empecé el año pasado durante 3 meses en los que estuve sin poder hacer deporte por una tendinitis. El proyecto lo empecé desde cero sin tener ningún tipo de conocimiento de Python a la vez que hacia cursos de DataCamp ya que aparte de la teoría necesitaba algo practico para motivarme. Cuando lo abandoné allá por Junio tenia tantos frentes abiertos y tan poco tiempo libre que me saturé y se quedó con demasiadas cosas a medias.

Al ser mi primer y único contacto con Python y habiéndolo pensado como un proyecto personal imagino que será muy mejorable ya que no seguí ninguna norma PEP, todos los nombre y comentarios están en Castellano...

El proyecto en sí es una herramienta que lee ficheros de actividades deportivas en formato GPX y analiza el contenido de manera visual como lo hacen Strava, Runtastic...
Por ahora los ficheros que lee correctamente son de dispositivos Garmin o exportados desde Strava. Si el GPX de otras marcas sigue otro patrón es probable que no lo lea correctamente.

Lo he subido a GitHub por si pudiera servir de punto de partida para otras personas con el mismo interés que quisieran llevarlo más allá o aficionados al deporte que quisieran aprender este lenguaje con una temática práctica conocida, con la información generada por uno mismo y que les pueda motivar como a mi.
https://github.com/felixbrinquis/PythonGPXAnalyzer

Por aquí dejo un par de ejemplos de los output que saca el programa en HTML:
https://drive.google.com/drive/folders/1_oNaZILjx0tPaTvUP9jn5SXnl7Hu77cH?usp=sharing

Como he comentado, este es mi primer proyecto, por lo que cualquier idea que tengáis para hacer de este proyecto algo mejor será bien recibida.

Un saludo!

6 2 respuestas
HeXaN

#717 Está muy chulo. Mi consejo es que empieces a refactorizarlo conforme vayas mejorando en Python. Por ejemplo, esto:

df = df.drop('FrecuenciaCardiaca_SAVGOL', 1)
df = df.drop('FrecuenciaCardiaca_5', 1)
df = df.drop('FrecuenciaCardiaca_10', 1)
df = df.drop('FrecuenciaCardiaca_15', 1)
df = df.drop('FrecuenciaCardiaca_20', 1)

Podrías dejarlo como:

df = df.drop(df.filter(regex='FrecuenciaCardiaca_').columns, axis=1)

Incluso cambiando la expresión regular podrías quitarte todo el bloque que tienes y dejarlo en una línea.

2 1 respuesta
vc15

#718
Estas cosas no se me ocurren al no conocer el lenguaje con la suficiente profundidad, pero pequeños empujones como este hacen que se aprenda poco a poco cosas nuevas.

Ya he metido el cambio en CalculosFuncion.py y solo con una expresión regular he conseguido reducirlo en 28 lineas.

Al final cumple con el propósito con solo esto:

df = df.drop(df.filter(regex='\B_SAVGOL|_([0-9][0-9]?)$').columns, axis=1)

¡Muchisimas gracias!

1
16 días después
iviallstar

He empezado hace unos días con Python u la verdad es que guay. Tiene librerías para hacer muchas cosas.

Ayer estuve haciendo algunas cosillas con BeautifulSoup, para hacer scrapper.

Hoy estoy con web usando web.py y pyMongo (para usar MongoDB) y mañana me mirare panda y Analytics, que es lo que más me interesa de Python.

#717 Interesante, me lo miraré cuando empiece con librerías de visualización de datos!