[Python] "terminale alternativo"

Andrea Spadaccini a.spadaccini a catania.linux.it
Sab 20 Set 2008 15:36:01 CEST


Ciao luciano,

> Ciao a tutti,
> ho scritto un programmino (di dubbia utilità) che funziona come console.
> 
> Ecco il semplicissimo codice:
> 
> *import os*
> 
> *while 1:
>     command = raw_input("she11: ")
>     os.system(command)
> 
> *L'ho provato (su linux) eseguendo alcuni comandi come 'pwd' e 'date' e 
> fin qui tutto ok. Poi ho provato a cambiare cartella digitando 'cd /' 
> per andare alla root directory e niente, 'pwd', sono nella stessa 
> cartella di prima, 'cd /home/', niente, non cambia cartella.
> 
> Dato che il programma non ha intoppi non ho molte possibilità di googolare.
> Vorrei capire il motivo di ciò.

Ciò accade perché os.system esegue i comandi in una sub-shell, quindi le
modifiche che effettui ogni volta (come il cambio della working directory) non
sono persistenti.

HTH,
Andrea

-- 
[ Andrea Spadaccini - aka lupino3 - GLUGCT - Catania - IM: lupino3 a jabber.org ]
[ GPG ID: 5D41ABF0 - key on keyservers - Debian GNU / Linux Lenny ( Testing ) ]
[ Linux Registered User 313388 - a(dot)spadaccini(at)catania(dot)linux(dot)it ]
[        Never argue with a fool, people might not know the difference        ]


Maggiori informazioni sulla lista Python