Domanda

Scrivo script Python con NPPEXEC / Blocco note ++.Come aggiornare la mia finestra della console come viene eseguita ogni riga del mio codice Python?Ad esempio, il seguente script del timer:

#!usr/bin/env python
import time
import threading

class Timer(threading.Thread):
    def __init__(self, seconds):
        self.runTime = seconds
        threading.Thread.__init__(self)
    def run(self):
        counter = self.runTime
        for sec in range(self.runTime):
            print counter
            time.sleep(1.0)
            counter -= 1
        print "Done."

if __name__ == '__main__':
    t = Timer(10)
    t.start()
.

Quando corro in questo in una finestra del prompt dei comandi, live aggiorna ogni secondo.Ma in NPPexec Console, si aggiorna solo dopo l'uscita.C'è un modo per ottenere la console NPPexec per comportarsi come il prompt dei comandi e aggiornare continuamente?

È stato utile?

Soluzione 2

Tutto ciò che deve essere fatto è invocare il comando python -u per eseguire lo script, I.E. python -u timer.py anziché python timer.py

Stampa Uscita in modalità non sbozzata per impostazione predefinita.Per il flussaggio di uscita personalizzato in programmi più dettagliati, la definizione stdout deve essere riscritta .

Altri suggerimenti

Non ha familiarità con come quella particolare app console gestisce l'uscita, ma stdout viene tamponato per impostazione predefinita, che è probabilmente il problema qui.Vedi Questa domanda per i modi di disabilitarlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top