蟒蛇和PHP - 标准输出重定向不能正常工作

问题描述:

在我的Python脚本我标准输出重定向到一个文件:蟒蛇和PHP - 标准输出重定向不能正常工作

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调用它!可能它是我们的操作系统环境或版本,因为我使用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