python&;php-stdout重定向无法正常工作

python&;php-stdout重定向无法正常工作,php,python,stdout,Php,Python,Stdout,在python脚本中,我将stdout重定向到一个文件: sys.stdout = open("/home/pi/log.txt", "w") print "test" 这很好,但当我从PHP启动python脚本时,文件创建正确,但没有添加任何行。log.txt只是保持为空 <?php exec('sudo -u pi python /home/pi/partyknipse/admin/upload.py') ?> 如果有任何建议,我将不胜感激。有趣的是,在我的Windows

在python脚本中,我将stdout重定向到一个文件:

sys.stdout = open("/home/pi/log.txt", "w")
print "test"
这很好,但当我从PHP启动python脚本时,文件创建正确,但没有添加任何行。log.txt只是保持为空

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


如果有任何建议,我将不胜感激。

有趣的是,在我的Windows PC上,我得到了相反的结果。Python不打印测试行,但当从PHP调用时,它会打印!可能是我们的操作系统环境或版本,因为我使用的是Python3和PHP5.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