[PYTHON]Imprimir en consola al terminar de ejecutarse una función...

Iniciado por dimineko, 17 Junio 2018, 17:52 PM

0 Miembros y 1 Visitante están viendo este tema.

dimineko

Código (python) [Seleccionar]
import os


def gather():
print ("[*]GATHERING...")
comando = "systeminfo"
salida = os.popen(comando)




gather()
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.

e

e

dimineko

No no! Quiero que despues de terminar de ejecutarse la función GATHER,imprima algo tipo "Finish..."pero me lo imprime antes!

e

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
e

tincopasan

#4
yo no usaría os sino subprocess, algo así:

Código (python) [Seleccionar]

import subprocess
 
def gather():
   print ("[*]GATHERING...")
   comando = "systeminfo"
   salida = subprocess.Popen(comando)
   salida.wait()
 
gather()
print ("[*]Done!")

o en todo caso de mejor forma así:

Código (python) [Seleccionar]

import subprocess
 
def gather():
    print ("[*]GATHERING...")
    comando = "systeminfo"
    salida = subprocess.Popen(comando).wait()

 
gather()
print ("[*]Done!")

e

Cuando usaba windows, :huh:
subprocess me fallaba: "no es una aplicaciøn windows vßalida."
fox459
e