где system() выводит вывод python в php?

При запуске одного скрипта Python из консоли Python печатает некоторые строки, например,..

hello,
World.
...
...

Для отображения на веб-странице с использованием php я пробовал..

exec("sudo -u username python temp.py  >> logdata.log")

И распечатайте logdata.log. Но при этом я получаю неупорядоченный вывод на веб-странице. Я понял, что это проблема очистки данных.

Я читал о команде system() во время поиска в Google, что она выполняет внешнюю команду и печатает вывод. А также он сбрасывает вывод, как это происходит. Так я пробовал..

system("sudo -u username Python temp.py")

Я хочу знать, где он печатает вывод.


person vnr1992    schedule 04.07.2013    source источник
comment
Для вывода операторов, таких как операторы отладки, из кода Python я настоятельно рекомендую использовать модуль logging python.   -  person Alex    schedule 04.07.2013


Ответы (1)


почему бы вам не использовать popen .

os.popen('sudo -u username Python temp.py').read()

или подпроцесс, который еще лучше: -

import subprocess
proc = subprocess.Popen('sudo -u username Python temp.py', stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
print "program output:", out
person Avichal Badaya    schedule 04.07.2013
comment
Я хочу запустить скрипт Python из php. Вы указываете сделать другой скрипт, а затем вызвать его из php? - person vnr1992; 04.07.2013
comment
да, вы можете это сделать. вам просто нужно ввести эту строку - exec(python ../xyz/abc.py, $output); - person Avichal Badaya; 04.07.2013