Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: dimineko en 17 Junio 2018, 17:52 pm



Título: [PYTHON]Imprimir en consola al terminar de ejecutarse una función...
Publicado por: dimineko en 17 Junio 2018, 17:52 pm
Código
  1. import os
  2.  
  3.  
  4. def gather():
  5. print ("[*]GATHERING...")
  6. comando = "systeminfo"
  7. salida = os.popen(comando)
  8.  
  9.  
  10.  
  11.  
  12. gather()
  13. print ("[*]Done!")




Buenas!Tengo un problema...Estoy haciendo un script para que consiga la salida del comando systeminfo...Y me he quedado en que lo consigo pero quiero que imprima en la consola que ya ha terminado,pero DESPUES de ejecutar la función gather,osea,cuando haya terminado.Espero que puedan ayudarme,saludos.


Título: Re: [PYTHON]Imprimir en consola al terminar de ejecutarse una función...
Publicado por: e en 17 Junio 2018, 18:03 pm
return salida :huh:
fox459


Título: Re: [PYTHON]Imprimir en consola al terminar de ejecutarse una función...
Publicado por: dimineko en 17 Junio 2018, 18:07 pm
No no! Quiero que despues de terminar de ejecutarse la función GATHER,imprima algo tipo "Finish..."pero me lo imprime antes!


Título: Re: [PYTHON]Imprimir en consola al terminar de ejecutarse una función...
Publicado por: e en 17 Junio 2018, 18:40 pm
print "finish"  :xD
Si pudieses ser un poco más específico...
Quizás es que tarda, y con un time.sleep(secs),  pero bueno, yo uso linux y systeminfo es de Windows.
fox459


Título: Re: [PYTHON]Imprimir en consola al terminar de ejecutarse una función...
Publicado por: tincopasan en 17 Junio 2018, 20:42 pm
yo no usaría os sino subprocess, algo así:

Código
  1. import subprocess
  2.  
  3. def gather():
  4.    print ("[*]GATHERING...")
  5.    comando = "systeminfo"
  6.    salida = subprocess.Popen(comando)
  7.    salida.wait()
  8.  
  9. gather()
  10. print ("[*]Done!")
  11.  
o en todo caso de mejor forma así:

Código
  1. import subprocess
  2.  
  3. def gather():
  4.    print ("[*]GATHERING...")
  5.    comando = "systeminfo"
  6.    salida = subprocess.Popen(comando).wait()
  7.  
  8.  
  9. gather()
  10. print ("[*]Done!")
  11.  


Título: Re: [PYTHON]Imprimir en consola al terminar de ejecutarse una función...
Publicado por: e en 18 Junio 2018, 16:55 pm
Cuando usaba windows, :huh:
 subprocess me fallaba: "no es una aplicaciøn windows vßalida."
fox459