2015-11-22 7 views
6

Quindi ho un codice Python che traccia alcuni grafici usando pyplot. Ogni volta che eseguo lo script vengono create nuove finestre di trama che devo chiudere manualmente. Come posso chiudere tutte le finestre di Pyplot aperte all'inizio dello script? Vale a dire. chiudere le finestre che sono state aperte durante le precedenti esecuzioni della sceneggiatura?Come si chiudono tutte le finestre di Pyplot (incluse quelle delle precedenti versioni di script)?

In MatLab questo può essere fatto semplicemente utilizzando closeall.

risposta

-2

Su * nix è possibile utilizzare il comando killall.

killall app

chiude ogni istanza della finestra con app per il nome della finestra. Puoi anche usare lo stesso comando dal tuo script python.
È possibile utilizzare os.system("bashcommand") per eseguire il comando bash.

+1

Questo è un po 'eccessivo per la chiusura di alcune finestre di trama ... – Bart

3

Per chiudere tutti i dati aperti da uno script, è possibile chiamare

plt.close('all') 

o si può terminare il processo di Python associato.

+4

Questo non chiude le cifre che erano aperte dalle precedenti esecuzioni dello script, che è ciò di cui ho bisogno. – Riggs

+0

Chiuderà tutte le figure nel processo python che esegue il comando. Sembra che tu abbia più processi Python in esecuzione: in quel caso devi eseguire questo comando nel processo associato, o uccidere il processo desiderato. – jakevdp

+0

non ha funzionato per me –

Problemi correlati