PDA

Visualizza la versione completa : [PYTHON] Evitare apertura della Shell


sandu
01-12-2006, 20:14
Ciao a tutti , scusate la mia ignoranza , ma sono niubbo e sto imparando quindi abbiate pietà :stordita:

Ho realizzato un piccolo programmino in python e ogni volta che lo lancio mi si apre anche la shell automaticamente , credo( se ho capito bene) che questo dipenda dal fatto che si tratta di uno script e di un linguaggio interpretato ...

ora vorrei capire ,
è possibile evitare che ciò avvenga ?... oppure è possibile nasconderla in qualche modo ?

ciao e grazie :ciauz:

sandu
03-12-2006, 12:39
niente ? :(

billiejoex
04-12-2006, 10:21
Su Windows: rinomina lo script da "script.py" a "script.pyw". In questo modo l'interprete utilizzato sarà pythonw.exe anzichè python.exe e il programma partirà in background.
Su Linux: banalmente utilizza il carattere "&" (esempio: python script.py &) per disimpegnare la shell.

sandu
04-12-2006, 11:52
grazie mille !

sandu
04-12-2006, 16:23
:( se rinomino il file come .pyw non cambia nulla ....il prompt si apre comunque

billiejoex
04-12-2006, 16:32
Strano, che versione di Python stai usando?
Prova a fare:

C:\Python2.x\pythonw.exe C:\path\tuo_script.py

sandu
04-12-2006, 16:40
python 2.4 comunque come hai suggerito tu non parte nulla ...

billiejoex
04-12-2006, 16:50
Ma in che senso non parte nulla?
Lo script lanciato in modo "normale" (uilizzando, cioè, C:\Python24\python.exe) funziona?
Se si deve per forza funzionare anche con C:\Python24\pythonw.exe che, a differenza del normale interprete, lancia semplicemente il processo in background senza far comparire la shell.
Per il resto non ha nessuna differenza rispetto a python.exe.

yuri refolo
14-12-2006, 01:15
Originariamente inviato da billiejoex
Ma in che senso non parte nulla?
Lo script lanciato in modo "normale" (uilizzando, cioè, C:\Python24\python.exe) funziona?
Se si deve per forza funzionare anche con C:\Python24\pythonw.exe che, a differenza del normale interprete, lancia semplicemente il processo in background senza far comparire la shell.
Per il resto non ha nessuna differenza rispetto a python.exe.

io ho un unico problema: così non mi porta l'applicazione in primo piano.

c'è una soluzione?

billiejoex
14-12-2006, 09:40
pythonw.exe --> lancia programma in background (la shell non la vedi, se c'è una GUI vedi la GUI)
python.exe --> lancia programma in foreground (la shell la vedi, la GUI anche)

Tutto qui. Fine della storia.

Loading