Desidero assegnare l'output di un comando eseguito utilizzando os.system
a una variabile e impedisco che venga trasmesso allo schermo. Ma, nel codice sottostante, l'output viene inviato allo schermo e il valore stampato per var
è 0, che suppongo significhi se il comando è stato eseguito correttamente o meno. C'è un modo per assegnare l'output del comando alla variabile e anche impedirne la visualizzazione sullo schermo?Assegnare l'output di os.system a una variabile e impedirne la visualizzazione sullo schermo
var = os.system("cat /etc/services")
print var #Prints 0
possibile duplicato di [equivalente di backtick in Python] (http://stackoverflow.com/questions/1410976/equivalent-of-backticks-in-python) – msw
Non utilizzare 'os.system' (né 'os.popen', per la risposta che hai accettato): usa' subprocess.Popen', è _way_ better! –
@AlexMartelli, non è possibile utilizzare un comando complesso (ad esempio piped) nel sottoprocesso.Popen(), ma con os.system uno può – vak