只要在Python CGI脚本中执行print语句,就将输出打印到网页

时间:2016-11-29 21:07:02

标签: python python-2.7 python-3.x cgi flush

我想在执行print语句后立即在网页上打印输出。这是我的代码:

#!/usr/bin/python2.7
import sys, time    
sys.stdout.write('Content-Type: text/html\n')
sys.stdout.write('\n\n')
print "<html><body>"
print "hi"
sys.stdout.flush()
for i in range(10):
    print '<div>%i</div>'%i
    sys.stdout.flush()
    time.sleep(1)
print "</body></html>"

但是只有在执行完整脚本后才会立即看到所有输出。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

您可能需要禁用需要在将整个内容发送到浏览器之前缓冲整个内容的 apache 压缩。

尝试将其添加到 /etc/apache2 配置文件中:

<Directory /var/www/your_web_site_here>
    SetEnv no-gzip 1
</Directory>