Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

duda con built-in prohibidos (exec) #479

Closed
Solariped opened this issue May 22, 2021 · 1 comment
Closed

duda con built-in prohibidos (exec) #479

Solariped opened this issue May 22, 2021 · 1 comment
Assignees
Labels
PyQt Dudas relacionadas con elementos de PyQt Tarea 2 Dudas sobre la T2

Comments

@Solariped
Copy link

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

  • [ X] Leí las reglas del foro (https://github.com/IIC2233/syllabus/issues/1)
  • [ X] Busqué en las issues si ya preguntaron mi duda y no encontré nada parecido (https://github.com/IIC2233/syllabus/issues)
  • [ X] Revisé el compilado de dudas de la tarea y no encontré una issue similar a la mía (https://github.com/IIC2233/syllabus/issues/474)
  • [X ] Mi duda no se trata sobre una librería, built-in o mala práctica, ya que eso se pregunta en la issue creada para ello.
  • [ X] Mi duda no se trata de un tema administrativo o personal, ya que en ese caso debo contactar a mi profe, al Jefe de Bienestar o al correo del curso (https://iic2233.github.io/contacto/)
  • [ X] Utilizaré un título descriptivo y llenaré correctamente esta plantilla
  • [X ] De ser necesario, solo colocaré código simple que permita explicar mi problema o duda, ya que compartir código de esta evaluación puede ser considerado copia

Duda

Hola! En las ayudantías y actividades se ha usado constantemente sys.exit(app.exec_()).
Esto es distinto a la función el exec que esta prohibida? O es la misma?

@Solariped Solariped added the Tarea 2 Dudas sobre la T2 label May 22, 2021
@MatiasDuhalde MatiasDuhalde self-assigned this May 22, 2021
@MatiasDuhalde
Copy link
Member

Hola @Solariped !

Efectivamente, la línea sys.exit(app.exec_()) es totalmente distinta al built-in exec que se encuentra prohibido en el curso. Por lo tanto, no hay problema en usar app.exec_() de PyQt5. Esta última básicamente se encarga de iniciar el loop principal de la interfaz gráfica, lo cual es distinto a exec de Python, el cual tiene como función ejecutar dinámicamente código, generalmente en forma de string.

El uso de exec es particularmente peligroso porque puede dar lugar a inyecciones de código, que pueden tener resultados catastróficos en el computador que está ejecutando el programa, si se tienen intenciones maliciosas o si no se tiene mucho cuidado. Esto está explicado con más detalle en la issue #591 del syllabus del curso del 2020-1.

Ojalá eso haya aclarado las dudas!

@MatiasDuhalde MatiasDuhalde added the PyQt Dudas relacionadas con elementos de PyQt label May 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PyQt Dudas relacionadas con elementos de PyQt Tarea 2 Dudas sobre la T2
Projects
None yet
Development

No branches or pull requests

3 participants