es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Servidor de Python para HTTP ocultar consola.

Estoy tratando de hacer un script que aloje mi archivo en mi red local, aquí está mi código:

import os
import getpass

os.system(‘python -m http.server –directory C:/Users/’+getpass.getuser())

Pero el problema es que la consola de http se muestra en mi escritorio y eso es molesto! Así que intenté ocultarlo cambiando el nombre del archivo a .pyw pero no funciona.

¿Alguien tiene alguna idea sobre cómo ocultar esta consola? ¡Gracias! 😀

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Una solución para ocultar la consola sería usar el módulo subprocess en lugar de os.system(). De esta manera, puedes iniciar el proceso http.server en segundo plano y redirigir su salida a un dispositivo nulo. Aquí tienes un fragmento de código actualizado que lograría eso:

    import os
    import getpass
    import subprocess
    
    with open(os.devnull, 'w') as null:
        subprocess.Popen(['python', '-m', 'http.server', '--directory', f'C:/Users/{getpass.getuser()}'], stdout=null, stderr=null)
    

    Esto debería iniciar el servidor sin mostrar la ventana de la consola.

    Nota: Si necesitas detener el servidor más tarde, puedes usar el módulo psutil para encontrar y matar el proceso.

Comments are closed.