蟒蛇和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