в python получить вывод системной команды в виде строки

В python я могу запустить некоторую системную команду с помощью os или subprocess. Проблема в том, что я не могу получить вывод в виде строки. Например:

>>> tmp = os.system("ls") file1 file2 >>> tmp 0 

У меня есть более старая версия подпроцесса, у которой нет функции check_out, и я бы предпочел решение, которое не требует обновления этого модуля, поскольку мой код будет работать на сервере. У меня нет полных прав администратора.

Эта проблема кажется тривиальной, но я не мог найти тривиального решения

Использовать os.popen() :

 tmp = os.popen("ls").read() 

Новым способом (> python 2.6) для этого является использование subprocess :

 proc = subprocess.Popen('ls', stdout=subprocess.PIPE) tmp = proc.stdout.read()