Ответ 1
Используйте os.popen()
:
tmp = os.popen("ls").read()
Новым способом ( > python 2.6) для этого является использование subprocess
:
proc = subprocess.Popen('ls', stdout=subprocess.PIPE)
tmp = proc.stdout.read()
В 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()