在Python CGI脚本中执行print语句后,立即将输出打印到网页
我想在执行print语句后立即在网页上打印输出。这是我的密码:在Python CGI脚本中执行print语句后,立即将输出打印到网页,python,python-2.7,python-3.x,cgi,flush,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>
#!/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>"
#/usr/bin/python2.7
导入系统,时间
sys.stdout.write('Content-Type:text/html\n')
sys.stdout.write('\n\n')
打印“”
打印“嗨”
sys.stdout.flush()
对于范围(10)内的i:
打印“%i”%i
sys.stdout.flush()
时间。睡眠(1)
打印“”
但我只有在执行完整脚本后才能一次看到所有输出。我遗漏了什么吗?有关详细信息,请参阅。(它使用Perl,但基本原则仍然适用。)@John Gordon,它没有帮助。我仍然无法解决这个问题,sys.stdout.flush在我的情况下似乎不起作用,如果有人能提出任何其他解决方案,那就太好了。我认为问题在于,你的浏览器在显示任何内容之前,都要等到获得所有输出。我在firefox、chrome和IE这三种浏览器中都试过了,但都没有成功。不确定解决方案是什么。有关详细信息,请参阅。(它使用Perl,但基本原则仍然适用。)@John Gordon,它没有帮助。我仍然无法解决这个问题,sys.stdout.flush在我的情况下似乎不起作用,如果有人能提出任何其他解决方案,那就太好了。我认为问题在于,你的浏览器在显示任何内容之前,都要等到获得所有输出。我在firefox、chrome和IE这三种浏览器中都试过了,但都没有成功。不确定解决方案是什么。