питон & amp; перенаправление stdout не работает должным образом

В моем скрипте Python я перенаправить стандартный вывод в файл:

sys.stdout = open("/home/pi/log.txt", "w")
print "test"

Это работает нормально, но когда я запускаю скрипт python из PHP, файл создается правильно, но в него не добавляются строки. Log.txt просто остается пустым!

<?php
exec('sudo -u pi python /home/pi/partyknipse/admin/upload.py')
?>

Буду признателен за любое предложение.

0

Решение

Интересно, что на моем ПК с Windows я получаю обратное. Python не печатает тестовое задание строка, но при вызове из PHP это делает! Возможно, это наши ОС или версии, так как я использую Python 3 и PHP 5.4. Тем не менее, в обоих случаях .py скрипт ниже работает в настройке stdout вернуться в исходное состояние. Рассмотрим это с вашей стороны:

saveout = sys.stdout                      # SAVE TO RETURN BACK
sys.stdout = open("log.txt", "w")
print("test")
sys.stdout = saveout                      # RESET TO NORMAL STATE
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]